Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Procedury, triggery w MySQL
prond
post
Post #1





Grupa: Zarejestrowani
Postów: 254
Pomógł: 10
Dołączył: 8.11.2006
Skąd: Warszawa

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


Mam problem z procedurami w MySQL. Chciałbym utworzyć jedną uniwersalną procedurę "dia_saveNode", ale MySQL nie pozwala mi stworzyć dwóch procedur o takiej samej nazwie, ale z innymi parametrami :

  1. CREATE PROCEDURE dia_saveNode (
  2. IN p_id int(11),
  3. IN p_parent_id int(11),
  4. IN p_name varchar(255)
  5. )
  6. BEGIN -- CODE
  7. END &
  8.  
  9.  
  10. CREATE PROCEDURE dia_saveNode (
  11. IN p_id int(11),
  12. IN p_parent_id int(11),
  13. IN p_name varchar(255),
  14. IN p_path varchar(255),
  15. IN p_depth int(4),
  16. IN p_weight int(4)
  17. )
  18. BEGIN -- CODE
  19. END &


Komunikat : PROCEDURE dia_saveNode already exists


Próbowałem to obejść w taki sposób, że stworzyłem trigger'a, ale tu też mam problem ponieważ:
pomimo przypięcia triggera do akcje BEFORE INSERT MySQL nie pozwala mi opuścić w klauzuli INSERT INTO ... kolumn, dla których nie ma wartości domyślnej i są NOT NULL.

Macie może jakiś pomysł jak to obejść ?

Alternatywą dla tego rozwiązania jest naturalnie zrobienie kilku procedur.

Docelowo procedura ma być wywoływana z CakePHP, który w modelu mam jedną funkcję metodę save i chciałem zrobić dokładne odwzorowanie.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 24.08.2025 - 20:33