Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] - problem z procedurą WAMP 2.2
Forum PHP.pl > Forum > Przedszkole
rafal_problem
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?
rocktech.pl
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 ;
rafal_problem
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ł

askone
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
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.