40.6. ÐÑавила и ÑÑаÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´
СеÑÐ²ÐµÑ Postgres Pro возвÑаÑÐ°ÐµÑ ÑÑÑÐ¾ÐºÑ ÑоÑÑоÑÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ, напÑимеÑ, INSERT 149592 1, Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ полÑÑаемой командÑ. ÐÑо доволÑно пÑозÑаÑно, когда не задейÑÑвÑÑÑÑÑ Ð¿Ñавила, но ÑÑо пÑоизойдÑÑ, еÑли пÑавила пеÑезапиÑÑÑ Ð·Ð°Ð¿ÑоÑ?
ÐÑавила влиÑÑÑ Ð½Ð° ÑоÑÑоÑÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ ÑледÑÑÑим обÑазом:
ÐÑли Ñ Ð·Ð°Ð¿ÑоÑом не ÑвÑзано безÑÑловное пÑавило
INSTEAD, Ñо вÑполнÑеÑÑÑ Ð·Ð°Ð´Ð°Ð½Ð½Ñй иÑÑ Ð¾Ð´Ð½Ñй запÑÐ¾Ñ Ð¸ его ÑÑаÑÑÑ Ð²ÑдаÑÑÑÑ ÐºÐ°Ðº обÑÑно. (Ðо еÑли опÑÐµÐ´ÐµÐ»ÐµÐ½Ñ ÐºÐ°ÐºÐ¸Ðµ-Ñо ÑÑловнÑе пÑавилаINSTEAD, к иÑÑ Ð¾Ð´Ð½Ð¾Ð¼Ñ Ð·Ð°Ð¿ÑоÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÑеÑÑÑ ÑÑловие, обÑаÑное Ð¸Ñ ÑÑловиÑм пÑименениÑ. ÐÑо Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð²Ð»Ð¸ÑÑÑ Ð½Ð° ÑиÑло обÑабаÑÑваемÑÑ ÑÑÑок и вÑводимÑй ÑÑаÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ.)ÐÑли Ñ Ð·Ð°Ð¿ÑоÑом ÑвÑзано безÑÑловное пÑавило
INSTEAD, иÑÑ Ð¾Ð´Ð½Ñй запÑÐ¾Ñ Ð½Ðµ вÑполнÑеÑÑÑ Ð²Ð¾Ð²Ñе. Ð ÑÑом ÑлÑÑае ÑеÑÐ²ÐµÑ Ð²Ð¾Ð·Ð²ÑаÑÐ¸Ñ ÑÑаÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¾Ñ Ð¿Ð¾Ñледнего запÑоÑа, вÑÑавленного пÑавиломINSTEAD(ÑÑловнÑм или безÑÑловнÑм), и Ñип ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¸ÑÑ Ð¾Ð´Ð½Ð¾Ð³Ð¾ запÑоÑа (INSERT,UPDATEилиDELETE). ÐÑли пÑавила не добавили Ð¿Ð¾Ð´Ñ Ð¾Ð´ÑÑего запÑоÑа, в возвÑаÑÑнном ÑÑаÑÑÑе ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¿Ð¾ÐºÐ°Ð·ÑваеÑÑÑ Ð¸ÑÑ Ð¾Ð´Ð½Ñй Ñип запÑоÑа и нÑли вмеÑÑо колиÑеÑÑва ÑÑÑок и OID.
ÐÑогÑаммиÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð´Ð¾Ð±Ð¸ÑÑÑÑ, ÑÑÐ¾Ð±Ñ ÑÑаÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð²Ð¾ вÑоÑом ÑлÑÑае ÑÑÑанавливало нÑжное пÑавило INSTEAD, назнаÑив ÐµÐ¼Ñ Ð¸Ð¼Ñ, ÑÑоÑÑее по алÑавиÑÑ Ð¿Ð¾Ñле дÑÑгиÑ
акÑивнÑÑ
пÑавил, ÑÑÐ¾Ð±Ñ ÑÑо пÑавило пÑименÑлоÑÑ Ð¿Ð¾Ñледним.