Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sql procedury
pacyfka99
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 30.01.2011

Ostrzeżenie: (0%)
-----


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

Ten post edytował pacyfka99 3.02.2011, 19:35:27
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
trafas
post
Post #2





Grupa: Zarejestrowani
Postów: 87
Pomógł: 12
Dołączył: 31.05.2006

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
pacyfka99
post
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 30.01.2011

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
trafas
post
Post #4





Grupa: Zarejestrowani
Postów: 87
Pomógł: 12
Dołączył: 31.05.2006

Ostrzeżenie: (0%)
-----


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 ?
Go to the top of the page
+Quote Post
pacyfka99
post
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 30.01.2011

Ostrzeżenie: (0%)
-----


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ć
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 21:15