46.5. ÐидимоÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ в даннÑÑ #
ÐидимоÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ в даннÑÑ , коÑоÑÑе пÑоизводÑÑÑÑ ÑÑнкÑиÑми, иÑполÑзÑÑÑими SPI, (или лÑбÑми дÑÑгими ÑÑнкÑиÑми на C), опиÑÑваеÑÑÑ ÑледÑÑÑими пÑавилами:
РпÑоÑеÑÑе вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ SQL-ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð»ÑбÑе пÑоизведÑннÑе ей Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ðµ Ð²Ð¸Ð´Ð½Ñ Ð´Ð»Ñ Ð½ÐµÑ Ñамой. ÐапÑимеÑ, в команде:
INSERT INTO a SELECT * FROM a;
вÑÑавлÑемÑе ÑÑÑоки не Ð²Ð¸Ð´Ð½Ñ Ð² ÑаÑÑи
SELECT.ÐзменениÑ, пÑоизведÑннÑе командой Ð, Ð²Ð¸Ð´Ð½Ñ Ð²Ð¾ вÑÐµÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ñ , запÑÑеннÑÑ Ð¿Ð¾Ñле Ð, незавиÑимо Ð¾Ñ Ñого, бÑли ли ÑÑи ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð·Ð°Ð¿ÑÑÐµÐ½Ñ Ð¸Ð· Ð (во вÑÐµÐ¼Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð) или поÑле завеÑÑÐµÐ½Ð¸Ñ Ð.
ÐомандÑ, вÑполнÑемÑе ÑеÑез SPI внÑÑÑи ÑÑнкÑии, вÑзванной SQL-командой (бÑÐ´Ñ Ñо обÑÑÐ½Ð°Ñ ÑÑнкÑÐ¸Ñ Ð¸Ð»Ð¸ ÑÑиггеÑ), ÑледÑÑÑ Ð¾Ð´Ð½Ð¾Ð¼Ñ Ð¸Ð»Ð¸ дÑÑÐ³Ð¾Ð¼Ñ Ð¸Ð· вÑÑепÑиведÑннÑÑ Ð¿Ñавил в завиÑимоÑÑи Ñлага ÑÑениÑ/запиÑи, пеÑеданного SPI. ÐомандÑ, вÑполнÑемÑе в Ñежиме «ÑолÑко ÑÑение», ÑледÑÐµÑ Ð¿ÐµÑÐ²Ð¾Ð¼Ñ Ð¿ÑавилÑ: они не видÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹, пÑоизведÑннÑÑ Ð²ÑзÑваÑÑей командой. ÐомандÑ, вÑполнÑемÑе в Ñежиме «ÑÑение-запиÑÑ», ÑледÑÑÑ Ð²ÑоÑÐ¾Ð¼Ñ Ð¿ÑавилÑ: они могÑÑ Ð²Ð¸Ð´ÐµÑÑ Ð²Ñе пÑоизведÑннÑе к ÑÑÐ¾Ð¼Ñ Ð²Ñемени изменениÑ.
ÐÑе ÑÑандаÑÑнÑе пÑоÑедÑÑнÑе ÑзÑки ÑÑÑанавливаÑÑ Ñежим ÑÑениÑ-запиÑи в SPI в завиÑимоÑÑи Ð¾Ñ Ð°ÑÑибÑÑа изменÑивоÑÑи ÑÑнкÑии. ÐÐ¾Ð¼Ð°Ð½Ð´Ñ ÑÑнкÑий
STABLEиIMMUTABLEвÑполнÑÑÑÑÑ Ð² Ñежиме «ÑолÑко ÑÑение», Ñогда как ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ ÑÑнкÑийVOLATILEâ в Ñежиме «ÑÑение-запиÑÑ». ХоÑÑ Ð°Ð²ÑоÑÑ ÑÑнкÑий на C могÑÑ Ð½Ð°ÑÑÑиÑÑ ÑÑо ÑоглаÑение, вÑÑд ли ÑÑо бÑÐ´ÐµÑ Ñ Ð¾ÑоÑей идеей.
Ð ÑледÑÑÑем Ñазделе пÑиводиÑÑÑ Ð¿ÑимеÑ, иллÑÑÑÑиÑÑÑÑий пÑименение ÑÑÐ¸Ñ Ð¿Ñавил.