Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: CREATE FUNCTION i problem z tranzakcją
Forum PHP.pl > Forum > Bazy danych > MySQL
Mion
Witam ponownie,
w ciele funkcji
  1. DELIMITER $$
  2.  
  3. DROP FUNCTION IF EXISTS `DodajPrywatnaWiadomosc` $$
  4. CREATE FUNCTION `DodajPrywatnaWiadomosc`(temat VARCHAR(100),tresc TEXT, nadawca INT, odbiorca INT) RETURNS int(11)
  5. BEGIN
  6. DECLARE idwAU,i2,i3,i4 INT;
  7.  
  8. START TRANSACTION;
  9. #Dalsze instrukcje SQL


chciałem skorzystać z transakcji jednak program MySQL Query Browser wywala błąd:
Script line: 4 Explicit or implicit commit is not allowed in stored function or trigger. NR bledu 1422

Wersja mojego Mysql to: 'version', '5.0.67'

Pytanie brzmi czy nie można korzystać z transakcji w ciele funkcji, lub procedury ?
Mchl
W funkcji nie. W procedurze tak.
Mion
Faktycznie w procedurze idzie zastosować tranzycje, ale dziwę się, ze w funkcji nie idzie... Swoją drogą ciekawe dlaczego tak zrobili sad.gif
Mchl
Bo funkcja ma zwracać wartość a nie robić coś.

Inna sprawa, że w triggerach też nie można.
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.