DECLARE
DECLARE â опÑеделиÑÑ ÐºÑÑÑоÑ
СинÑакÑиÑ
DECLAREимÑ_кÑÑÑоÑа[ BINARY ] [ INSENSITIVE ] [ [ NO ] SCROLL ] CURSOR [ { WITH | WITHOUT } HOLD ] FORподгоÑовленнÑй_опеÑаÑоÑDECLAREимÑ_кÑÑÑоÑа[ BINARY ] [ INSENSITIVE ] [ [ NO ] SCROLL ] CURSOR [ { WITH | WITHOUT } HOLD ] FORзапÑоÑ
ÐпиÑание
DECLARE обÑÑвлÑÐµÑ ÐºÑÑÑÐ¾Ñ Ð´Ð»Ñ Ð¿ÑоÑ
ода по набоÑÑ ÑезÑлÑÑаÑов подгоÑовленного опеÑаÑоÑа. ÐÑа команда неÑколÑко оÑлиÑаеÑÑÑ Ð¾Ñ Ð¾Ð±ÑÑной SQL-ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ DECLARE: Ñогда как поÑледнÑÑ Ð²ÑполнÑÐµÑ Ð·Ð°Ð¿ÑÐ¾Ñ Ð¸ подгоÑÐ°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð½Ð°Ð±Ð¾Ñ ÑезÑлÑÑаÑов Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑениÑ, вÑÑÑÐ°Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ SQL-команда пÑоÑÑо обÑÑвлÑÐµÑ Ð¸Ð¼Ñ Ð² каÑеÑÑве «пеÑеменной Ñикла» Ð´Ð»Ñ Ð¿ÑоÑ
ода по набоÑÑ ÑезÑлÑÑаÑов запÑоÑа; ÑакÑиÑеÑки запÑÐ¾Ñ Ð²ÑполниÑÑÑ, когда кÑÑÑÐ¾Ñ Ð±ÑÐ´ÐµÑ Ð¾ÑкÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ OPEN.
ÐаÑамеÑÑÑ
имÑ_кÑÑÑоÑаÐÐ¼Ñ ÐºÑÑÑоÑа, задаÑÑÑÑ Ñ ÑÑÑÑом ÑегиÑÑÑа. ÐÑо Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸Ð´ÐµÐ½ÑиÑикаÑÐ¾Ñ SQL или пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ ÑÑÐµÐ´Ñ C.
подгоÑовленнÑй_опеÑаÑоÑÐÐ¼Ñ Ð¿Ð¾Ð´Ð³Ð¾Ñовленного запÑоÑа, задаваемое SQL-иденÑиÑикаÑоÑом или пеÑеменной ÑÑедÑ.
запÑоÑÐоманда SELECT или VALUES, вÑдаÑÑÐ°Ñ ÑÑÑоки, коÑоÑÑе бÑдÑÑ Ð¿Ð¾Ð»ÑÑÐµÐ½Ñ ÑеÑез кÑÑÑоÑ.
ÐаÑамеÑÑÑ ÐºÑÑÑоÑа ÑаÑÑмаÑÑиваÑÑÑÑ Ð² опиÑании DECLARE.
ÐÑимеÑÑ
ÐÑимеÑÑ Ð¾Ð±ÑÑÐ²Ð»ÐµÐ½Ð¸Ñ ÐºÑÑÑоÑа Ð´Ð»Ñ Ð·Ð°Ð¿ÑоÑа:
EXEC SQL DECLARE C CURSOR FOR SELECT * FROM My_Table; EXEC SQL DECLARE C CURSOR FOR SELECT Item1 FROM T; EXEC SQL DECLARE cur1 CURSOR FOR SELECT pgpro_version();
ÐÑÐ¸Ð¼ÐµÑ Ð¾Ð±ÑÑÐ²Ð»ÐµÐ½Ð¸Ñ ÐºÑÑÑоÑа Ð´Ð»Ñ Ð¿Ð¾Ð´Ð³Ð¾Ñовленного опеÑаÑоÑа:
EXEC SQL PREPARE stmt1 AS SELECT pgpro_version(); EXEC SQL DECLARE cur1 CURSOR FOR stmt1;
СовмеÑÑимоÑÑÑ
Ðоманда DECLARE опиÑана в ÑÑандаÑÑе SQL.