dblink_build_sql_delete
dblink_build_sql_delete â ÑоÑмиÑÑÐµÑ Ð¾Ð¿ÐµÑаÑÐ¾Ñ DELETE Ñо знаÑениÑми, пеÑедаваемÑми Ð´Ð»Ñ Ð¿Ð¾Ð»ÐµÐ¹ пеÑвиÑного клÑÑа
СинÑакÑиÑ
dblink_build_sql_delete(text relname,
int2vector primary_key_attnums,
integer num_primary_key_atts,
text[] tgt_pk_att_vals_array) returns textÐпиÑание
ФÑнкÑÐ¸Ñ dblink_build_sql_delete Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð° пÑи избиÑаÑелÑной ÑепликаÑии локалÑной ÑаблиÑÑ Ñ ÑдалÑнной базой даннÑÑ
. Ðна ÑоÑмиÑÑÐµÑ SQL-ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ DELETE, коÑоÑÐ°Ñ ÑÐ´Ð°Ð»Ð¸Ñ ÑÑÑÐ¾ÐºÑ Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñми знаÑениÑми пеÑвиÑного клÑÑа.
ÐÑгÑменÑÑ
relnameÐÐ¼Ñ Ð»Ð¾ÐºÐ°Ð»Ñного оÑноÑениÑ, напÑимеÑ
fooилиmyschema.mytab. ÐаклÑÑиÑе его в двойнÑе кавÑÑки, еÑли ÑÑо Ð¸Ð¼Ñ Ð² ÑмеÑанном ÑегиÑÑÑе или ÑодеÑÐ¶Ð¸Ñ ÑпеÑиалÑнÑе ÑимволÑ, напÑимеÑ"FooBar"; без кавÑÑек ÑÑа ÑÑÑока пÑиводиÑÑÑ Ðº Ð½Ð¸Ð¶Ð½ÐµÐ¼Ñ ÑегиÑÑÑÑ.primary_key_attnumsÐомеÑа аÑÑибÑÑов (наÑÐ¸Ð½Ð°Ñ Ñ 1) полей пеÑвиÑного клÑÑа, напÑимеÑ
1 2.num_primary_key_attsЧиÑло полей пеÑвиÑного клÑÑа.
tgt_pk_att_vals_arrayÐнаÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÐµÐ¹ пеÑвиÑного клÑÑа, коÑоÑÑе бÑдÑÑ Ð¸ÑполÑзоваÑÑÑÑ Ð² ÑезÑлÑÑиÑÑÑÑей команде
DELETE. Ðаждое поле пÑедÑÑавлÑеÑÑÑ Ð² ÑекÑÑовом виде.
ÐозвÑаÑаемое знаÑение
ÐозвÑаÑÐ°ÐµÑ Ð·Ð°Ð¿ÑоÑеннÑй SQL-опеÑаÑÐ¾Ñ Ð² ÑекÑÑовом виде.
ÐÑимеÑаниÑ
ÐаÑÐ¸Ð½Ð°Ñ Ñ PostgreSQL 9.0, номеÑа аÑÑибÑÑов в primary_key_attnums воÑпÑинимаÑÑÑÑ ÐºÐ°Ðº логиÑеÑкие номеÑа ÑÑолбÑов, ÑооÑвеÑÑÑвÑÑÑие позиÑиÑм ÑÑолбÑов в SELECT * FROM relname. ÐÑедÑдÑÑие веÑÑии воÑпÑинимали ÑÑи номеÑа как ÑизиÑеÑкие позиÑии ÑÑолбÑов. ÐÑлиÑие ÑÑиÑ
подÑ
одов пÑоÑвлÑеÑÑÑ, когда на пÑоÑÑжении жизни ÑаблиÑÑ Ð¸Ð· Ð½ÐµÑ ÑдалÑÑÑÑÑ ÑÑолбÑÑ Ð»ÐµÐ²ÐµÐµ ÑказаннÑÑ
.
ÐÑимеÑÑ
SELECT dblink_build_sql_delete('"MyFoo"', '1 2', 2, '{"1", "b"}');
dblink_build_sql_delete
---------------------------------------------
DELETE FROM "MyFoo" WHERE f1='1' AND f2='b'
(1 row)