Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sql procedury
Forum PHP.pl > Forum > Bazy danych > MySQL
pacyfka99
Problem mój polega na tym że chcę dodać najprostszą procedurę do sqla
przy czym jak wpisuje w miejscu gdzie wpisuje się polecenia sql np

delimiter //

CREATE FUNCTION nazwa () RETURNS VARCHAR(20)
BEGIN
RETURN 'jakis napis';
END

delimiter ;

to sql się zawiesza
jak staram się dodać to do pliku i odpalić
SOURCE c:/nazwa_pliku.sql;
to pokazuje błąd

Czy trzeba używać wersji serwer aby dodawać procedury ?
i jak to wygląda w przypadku gdy chcę takie procedury używać na jakimś serwerze np home.pl
wystarczą nawet najbardziej naprowadzające odpowiedzi dzięki z góry

Właśnie sprawdziłem i na serwerze ugu.pl się wykonało to polecenie pytanie czemu u mnie nie chce się wykonać ? używam wampa
No i ciekawi mnie gdzie można sprawdzić jakie procedury już dodałem?

Zapytanie SQL zostało wykonane pomyślnie
delimiter // CREATE FUNCTION HelloWorld () RETURNS VARCHAR(20) BEGIN RETURN 'Hello World'; END delimiter ;

jak wpisuje później select HelloWorld() to pisze że taka funkcja nie istnieje czyli też nie działa
trafas
Witam,

Uruchomiłem Twój przykład na localu ( również używam wampa ) i wyrzuciło mi błąd.

Okazało się, że wystarczyło dodać // przed zamukającym delimiter:


  1. delimiter //
  2.  
  3. CREATE FUNCTION HelloWorld () RETURNS VARCHAR(20)
  4. BEGIN
  5. RETURN 'Hello World';
  6. END
  7.  
  8. // delimiter ;



Jeżeli chcesz wyświetlić dostępne funkcje lub procedudry to wywkonujesz:

  1. SHOW FUNCTION STATUS
  2. -- lub
  3. SHOW procedure STATUS


Pozdrawiam.
pacyfka99
NO to uznam że mój serwer jest zepsuty bo u mnie się zawiesza
czyli rozumiem że da się to zrobić bez sql serwera i na stronkach też powinno się dać
Jak mi się nie uda to jeszcze tu wrócę smile.gif dzięki zapomoc
trafas
Jak chciałem utworzyć tą funkcję z poziomu HeidiSQL to wyrzucał mi błąd. Ale tak czy inaczej funkcja została utworzona.

Przy utworzeniu funkcji bezpośrednio z konsoli mysql poszło mi wszystko bez problemów.

Na stronie też można korzystać z utworzonej funkcji:

  1. $query = "SELECT helloworld()";
  2. $result = mysql_query($query);
  3. $dane = mysql_fetch_array($result);
  4. echo "wynik: ".$dane[0];


Może masz coś nie tak z konfiguracją serwera.
Jaką masz wersję MySQL'a ?
pacyfka99
na kompie mam 5,1,36
ale np na serwerze ugu.pl niby się wykonało poprawnie ale jak chcę uruchomić
to FUNCTION db850333.helloworld does not exist

jeśli komuś działają na serwerze funkcje to niech da znać jaki to serwer byle darmowy bo chcę potestować
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.