Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] - problem z procedurą WAMP 2.2, problem z procedurą
-rafal_problem-
post 28.12.2011, 14:14:18
Post #1





Goście







Cześć,

Mam dziwny problem nie mogę stworzyć procedury pomimo że wszystko wygląda dobrze:

  1. CREATE PROCEDURE wam()
  2. BEGIN
  3. SELECT * FROM trenowanie_mysql.osob;
  4. END;


Jeśli chodzi o bazę istnieje razem z danymi:
  1. INSERT INTO `osob`(`O_Id`, `OrderNo`, `P_Id`) VALUES (1,2,3)


Wyskakuje mi taki błąd:
Kod
Błąd

Zapytanie SQL: Dokumentacja

CREATE PROCEDURE wam( ) BEGIN SELECT *
FROM trenowanie_mysql.osob;

MySQL zwrócił komunikat: Dokumentacja
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3


Pisze w MySQL 5.5 dla WAMP 2.2

Procedura tworzy się jedynie w momencie gdy nic nie podaje pomiędzy Begin i End

Gdzie jest problem?
Go to the top of the page
+Quote Post
rocktech.pl
post 28.12.2011, 14:19:44
Post #2





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

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


Hej.

Spróbuj tak.

  1. DELIMITER $$
  2. CREATE PROCEDURE wam()
  3.  
  4. BEGIN
  5.  
  6. SELECT * FROM trenowanie_mysql.osob;
  7.  
  8. END$$
  9.  
  10. DELIMITER ;


--------------------
Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. --Brian Moore

I never go looking for a sucker. I look for a Champion and make a sucker of of him. --Amarillo Slim


Home-made : js-gui-classes | Accordion | Tabs | Carousel / php-sms-classes | Obsługa bramki SMS MultiInfo | Obsługa bramki SMS Mobiltek
Go to the top of the page
+Quote Post
-rafal_problem-
post 28.12.2011, 14:26:36
Post #3





Goście







Cześć Rocktech,

Działa. Dzięki za pomoc, mam jedno pytanie czemu w manualu jest zupełnie co innego:

http://dev.mysql.com/doc/refman/5.5/en/create-procedure.html

DELIMITER?

Pozdrawiam,
Rafał

Go to the top of the page
+Quote Post
askone
post 28.12.2011, 14:32:13
Post #4





Grupa: Zarejestrowani
Postów: 654
Pomógł: 121
Dołączył: 27.10.2007
Skąd: Poznań, Łódź

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


Zajrzyj tutaj

Zgodnie z powyższą informacją znak ; jest domyślnie uznawany jako separator poleceń SQL. W przypadku tworzenia procedury jako polecenie SQL należy uznać całość pomiędzy CREATE PROCEDURE a END. Dlatego konieczne jest zastąpienie domyślnego separatora innym

Pozdrawiam


--------------------
Kliknij jeśli moja odpowiedź Ci pomogła.
askone.pl
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 Wersja Lo-Fi Aktualny czas: 16.06.2025 - 21:48