MySQL - tworzenie funkcji przez phpMyAdmin

MySQL - tworzenie funkcji przez phpMyAdmin
HI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1863
0

Witam.

Mam wykupiony hosting na dhosting.pl, w ramach abonamentu dostałem bazę MySQL do której dostaję się za pomocą panelu phpMyAdmin.
Tworzenie tabel, wstawianie tabel itp nie sprawia problemu.
Teraz chciałem dla testów stworzyć prostą funkcję.
Kopiują treść zapytania z jednego z tutoriali wywołałem :

Kopiuj
delimiter //

CREATE FUNCTION HelloWorld () RETURNS VARCHAR(20)
BEGIN
RETURN 'Hello World';
END

delimiter ;

Otrzymałem wynik

Kopiuj
Zapytanie SQL zostało wykonane pomyślnie

Następnie chcąc przetestować działanie funkcji wklepałem:

Kopiuj
select helloworld();

Otrzymałem błąd:

Kopiuj
#1305 - FUNCTION avexim_test.helloworld does not exist

W jaki sposób więc tworzyć funkcje (bo chyba się da ?) ?

Załączam screeny opisywanej sytuacji.

Z góry dziękuję za pomoc.

Marcin.Miga
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2794
0

Zrób tak:

  1. Wykonaj swój skrypt BEZ ostatniej linijki - bez delimiter ; Być może komunikat o poprawności dostajesz od niego.
  2. Jeśli się wykona poprawnie, to wykonaj zaraz potem: SHOW CREATE FUNCTION twojafunckcja
  3. Jeśli się wyświetli kod, to nie ma bata - musiała się utworzyć. Jeśli nie, to powinien w kroku 1 wyskoczyć błąd
HI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1863
0

@Marcin.Miga
AD 1.

Kopiuj
#1044 - Access denied for user 'avexim_lazarus'@'%' to database 'avexim_test'

Mam rozumieć, że w "wersji" którą udostępnia hostingodawca, dodawanie własnych funkcji jest zablokowane?

Marcin.Miga
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2794
0

Ten komunikat znaczy, że dany user nie ma dostępu do tej bazy.... o GRANT/DENY byłby chyba inny (nie chce mi się teraz sprawdzać)...

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.