Parametry
statement | p°φkaz jazyka SQL |
results | pole Φφsel, do nich₧ se zapφÜe informace o v²sledku operace |
[cdp | kontextovß prom∞nnß klienta] |
Popis
Funkce vykonß p°φkaz jazyka SQL zadan² v parametru statement. P°i p°ekladu volßnφ tΘto funkce se nekontroluje smysluplnost SQL p°φkazu - p°φpadnß syntaktickß chyba p°φkazu se projevφ a₧ p°i b∞hu, kdy SQL server ohlßsφ, ₧e nem∙₧e splnit po₧adavek.
V parametru statement m∙₧e b²t vφce SQL p°φkaz∙ odd∞len²ch st°ednφkem. P°i volßnφ z vnit°nφho jazyka smφ b²t v parametru statement max. 12 SQL p°φkaz∙. Na rozdφl od volßnφ funkce z externφho jazyka nesmφ b²t ve statement pou₧it (ve smyslu p°φkazu) dotazov² v²raz SELECT - (dotaz se ve vnit°nφm jazyku otevφrß pomocφ funkce Open_sql_cursor
).
P°i volßnφ funkce z vn∞jÜφho (externφho) jazyka je nutnΘ uvΘst v²stupnφ parametr results. Tφmto parametrem je pole 32-bitov²ch cel²ch Φφsel bez znamΘnka. Pole musφ obsahovat nejmΘn∞ tolik slo₧ek, kolik p°φkaz∙ jazyka SQL je zadßno v parametru statement, maximßln∞ vÜak 10. Volßnφ procedury se nebere jako jeden p°φkaz, ale uva₧ujφ se jednotlivΘ p°φkazy v nφ obsa₧enΘ. Pole musφ mφt svou prvnφ slo₧ku p°ed zavolßnφm inicializovanou hodnotou nula. Parametr results slou₧φ k zφskßnφ informacφ o v²sledku provßd∞nφ p°φkaz∙. Mß relevantnφ hodnotu pouze v p°φpad∞, ₧e funkce SQL_statement
skonΦila ·sp∞Ün∞. Pokud byl proveden p°φkaz UPDATE, DELETE nebo INSERT, hodnotou p°φsluÜnΘho prvku pole je poΦet zpracovan²ch zßznam∙. Pokud byl proveden SELECT (nenφ SQL p°φkaz, lze ho vÜak zde pou₧φt pro otev°enφ dotazu), pak ve spodnφch dvou bajtech prvku pole je Φφslo otev°enΘho kurzoru a s otev°en²m kurzorem je mo₧nΘ dßle pracovat (stejn∞ jako by byl otev°en pomocφ funkce Open_cursor_direct
). Otev°en² kurzor se zavφrß pomocφ funkce Close_cursor
.
Tato funkce je dostupnß takΘ z jazyka SQL. Vyu₧φvß se v n∞m ve dvou p°φpadech: kdy₧ je t°eba SQL p°φkaz dynamicky sestavit v procedu°e ulo₧enΘ na serveru a pak provΘst nebo kdy₧ SQL p°φkaz nelze p°elo₧it v dob∞, kdy se p°eklßdß procedura, v nφ₧ je obsa₧en, proto₧e nap°φklad obsahuje odkazy na tabulky, kterΘ p°i p°ekladu jeÜt∞ neexistujφ.
Hodnota funkce
Funkce vracφ hodnotu FALSE, pokud se akci poda°ilo ·sp∞Ün∞ provΘst. V opaΦnΘm p°φpad∞ vracφ TRUE a povahu chyby lze zjistit volßnφm funkce Signalize
.
P°φklad
if not Sql_execute("DELETE FROM Zamestnan WHERE Oddeleni=1")
then à
Viz