SPI_cursor_open
SPI_cursor_open â оÑкÑÑÑÑ ÐºÑÑÑÐ¾Ñ Ð´Ð»Ñ Ð¾Ð¿ÐµÑаÑоÑа, Ñозданного ÑÑнкÑией SPI_prepare
СинÑакÑиÑ
Portal SPI_cursor_open(const char *name, SPIPlanPtrplan, Datum *values, const char *nulls, boolread_only)
ÐпиÑание
SPI_cursor_open оÑкÑÑÐ²Ð°ÐµÑ ÐºÑÑÑÐ¾Ñ (внÑÑÑи назÑваемÑй поÑÑалом), ÑеÑез коÑоÑÑй бÑÐ´ÐµÑ Ð²ÑполнÑÑÑÑÑ Ð¾Ð¿ÐµÑаÑоÑ, подгоÑовленнÑй ÑÑнкÑией SPI_prepare. ÐаÑамеÑÑÑ ÑÑой ÑÑнкÑии имеÑÑ ÑÐ¾Ñ Ð¶Ðµ ÑмÑÑл, ÑÑо и ÑооÑвеÑÑÑвÑÑÑие паÑамеÑÑÑ SPI_execute_plan.
ÐÑименение кÑÑÑоÑа по ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ñ Ð½ÐµÐ¿Ð¾ÑÑедÑÑвеннÑм вÑполнением опеÑаÑоÑа даÑÑ Ð´Ð²Ð¾Ð¹Ð½ÑÑ Ð²ÑгодÑ. Ðо-пеÑвÑÑ , ÑÑÑоки ÑезÑлÑÑаÑа можно полÑÑаÑÑ Ð² неболÑÑÐ¸Ñ ÐºÐ¾Ð»Ð¸ÑеÑÑÐ²Ð°Ñ , без ÑиÑка иÑÑеÑпаÑÑ Ð²ÑÑ Ð¿Ð°Ð¼ÑÑÑ Ð¿Ñи вÑполнении запÑоÑов, возвÑаÑаÑÑÐ¸Ñ Ð¼Ð½Ð¾Ð³Ð¾ ÑÑÑок. Ðо-вÑоÑÑÑ , поÑÑал Ð¼Ð¾Ð¶ÐµÑ ÑÑÑеÑÑвоваÑÑ Ð¸ поÑле завеÑÑÐµÐ½Ð¸Ñ ÑекÑÑей пÑоÑедÑÑÑ (на Ñамом деле он Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑоÑÑÑеÑÑвоваÑÑ Ð´Ð¾ конÑа ÑекÑÑей ÑÑанзакÑии). ÐозвÑаÑив Ð¸Ð¼Ñ Ð¿Ð¾ÑÑала в код, вÑзÑваÑÑий пÑоÑедÑÑÑ, можно оÑганизоваÑÑ Ð²ÑдаÑÑ ÑезÑлÑÑаÑа в виде набоÑа ÑÑÑок.
ÐеÑеданнÑе знаÑÐµÐ½Ð¸Ñ Ð¿Ð°ÑамеÑÑов копиÑÑÑÑÑÑ Ð² поÑÑал кÑÑÑоÑа, Ñак ÑÑо Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ оÑвободиÑÑ Ð¸ во вÑÐµÐ¼Ñ ÑÑÑеÑÑÐ²Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÑÑÑоÑа.
ÐÑгÑменÑÑ
const char *nameÐ¸Ð¼Ñ Ð¿Ð¾ÑÑала, либо
NULL, ÑÑÐ¾Ð±Ñ Ð¸Ð¼Ñ Ð²ÑбÑала ÑиÑÑемаSPIPlanPtrplanподгоÑовленнÑй опеÑаÑÐ¾Ñ (возвÑаÑаемÑй ÑÑнкÑией
SPI_prepare)Datum *valuesÐаÑÑив ÑакÑиÑеÑÐºÐ¸Ñ Ð·Ð½Ð°Ñений паÑамеÑÑов. Ðго ÑÐ°Ð·Ð¼ÐµÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ ÑавнÑÑÑÑÑ ÑиÑÐ»Ñ Ð°ÑгÑменÑов опеÑаÑоÑа.
const char *nullsÐаÑÑив, опиÑÑваÑÑий, в ÐºÐ°ÐºÐ¸Ñ Ð¿Ð°ÑамеÑÑÐ°Ñ Ð¿ÐµÑедаÑÑÑÑ NULL. Ðолжен имеÑÑ ÑазмеÑ, ÑавнÑй ÑиÑÐ»Ñ Ð°ÑгÑменÑов опеÑаÑоÑа.
ÐÑли в
nullsпеÑедаÑÑÑÑNULL,SPI_cursor_openÑÑиÑаеÑ, ÑÑо ни один из паÑамеÑÑов не Ñавен NULL. РпÑоÑивном ÑлÑÑае ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð¼Ð°ÑÑиваnullsдолжен ÑодеÑжаÑÑ' ', еÑли знаÑение ÑооÑвеÑÑÑвÑÑÑего паÑамеÑÑа не NULL, либо'n', еÑли ÑÑо знаÑение â NULL. (РпоÑледнем ÑлÑÑае знаÑение, пеÑеданное в ÑооÑвеÑÑÑвÑÑÑем ÑлеменÑеvalues, не ÑÑиÑÑваеÑÑÑ.) ÐамеÑÑÑе, ÑÑоnullsâ ÑÑо не ÑекÑÑÐ¾Ð²Ð°Ñ ÑÑÑока, а пÑоÑÑо маÑÑив: Ð½Ð¾Ð»Ñ ('\0') в конÑе не нÑжен.boolread_onlytrueÐ´Ð»Ñ Ñежима вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Â«ÑолÑко ÑÑение»
ÐозвÑаÑаемое знаÑение
УказаÑÐµÐ»Ñ Ð½Ð° поÑÑал, ÑодеÑжаÑий кÑÑÑоÑ. ÐамеÑÑÑе, ÑÑо ÑоглаÑение о возвÑаÑе оÑибок оÑÑÑÑÑÑвÑеÑ; вÑе оÑибки вÑдаÑÑÑÑ ÑеÑез elog.