18.13. СовмеÑÑимоÑÑÑ Ñ ÑазнÑми веÑÑиÑми и плаÑÑоÑмами
18.13.1. ÐÑедÑдÑÑие веÑÑии Postgres Pro
array_nulls(boolean)ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¾Ð¿ÑеделÑеÑ, бÑÐ´ÐµÑ Ð»Ð¸ пÑи ÑазбоÑе вводимого маÑÑива ÑаÑпознаваÑÑÑÑ ÑÑÑока
NULLбез кавÑÑек как ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð¼Ð°ÑÑива, ÑавнÑй NULL. ÐнаÑение по ÑмолÑаниÑ,on, позволÑÐµÑ Ð·Ð°Ð´Ð°Ð²Ð°ÑÑ NULL в каÑеÑÑве ÑлеменÑов вводимого маÑÑива. Ðднако до веÑÑии 8.2 PostgreSQL не поддеÑживал ввод ÑлеменÑов NULL в маÑÑÐ¸Ð²Ð°Ñ , а воÑпÑинималNULLкак обÑÑнÑй ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð¼Ð°ÑÑива Ñо ÑÑÑоковÑм знаÑением «NULL». ÐÐ»Ñ Ð¾Ð±ÑаÑной ÑовмеÑÑимоÑÑи Ñ Ð¿ÑиложениÑми, завиÑÑÑими Ð¾Ñ ÑÑаÑого поведениÑ, ÑÑÑ Ð¿ÐµÑеменнÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ оÑклÑÑиÑÑ (пÑиÑвоив ейoff).ÐамеÑÑÑе, ÑÑо маÑÑивÑ, ÑодеÑжаÑие NULL, можно ÑоздаÑÑ, даже когда ÑÑа пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñение
off.backslash_quote(enum)ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¾Ð¿ÑеделÑеÑ, можно ли бÑÐ´ÐµÑ Ð¿ÑедÑÑавиÑÑ Ð·Ð½Ð°Ðº апоÑÑÑоÑа в ÑÑÑоковой конÑÑанÑе в виде
\'. Ð ÑÑандаÑÑе SQL опÑеделÑн дÑÑгой, пÑедпоÑиÑаемÑй ваÑÐ¸Ð°Ð½Ñ Ð¿ÐµÑедаÑи апоÑÑÑоÑа, дÑблиÑованием (''), но Postgres Pro иÑÑоÑиÑеÑки Ñакже пÑинимал ваÑианÑ\'. Ðднако пÑименение ваÑианÑа\'ÑопÑÑжено Ñ ÑгÑозами безопаÑноÑÑи, Ñак как в некоÑоÑÑÑ ÐºÐ»Ð¸ÐµÐ½ÑÑÐºÐ¸Ñ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²ÐºÐ°Ñ ÑÑÑеÑÑвÑÑÑ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹ÑнÑе ÑимволÑ, поÑледний Ð±Ð°Ð¹Ñ ÐºÐ¾ÑоÑÑÑ ÑиÑленно Ñавен ASCII-кодÑ\. ÐÑли код на ÑÑоÑоне клиенÑа вÑÐ¿Ð¾Ð»Ð½Ð¸Ñ ÑкÑаниÑование некоÑÑекÑно, ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð¾ÑкÑÑÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи Ð´Ð»Ñ SQL-инÑекÑии. ÐÑедоÑвÑаÑиÑÑ ÑÑÐ¾Ñ ÑиÑк можно, запÑеÑив ÑеÑвеÑÑ Ð¿ÑинимаÑÑ Ð·Ð°Ð¿ÑоÑÑ, в коÑоÑÑÑ Ð°Ð¿Ð¾ÑÑÑÐ¾Ñ ÑкÑаниÑÑеÑÑÑ Ð¾Ð±ÑаÑной коÑой. ÐопÑÑÑимÑе знаÑÐµÐ½Ð¸Ñ Ð¿Ð°ÑамеÑÑаbackslash_quote:on(пÑинимаÑÑ\'вÑегда),off(не пÑинимаÑÑ Ð½Ð¸ÐºÐ¾Ð³Ð´Ð°) иsafe_encoding(пÑинимаÑÑ, ÑолÑко еÑли клиенÑÑÐºÐ°Ñ ÐºÐ¾Ð´Ð¸Ñовка не допÑÑÐºÐ°ÐµÑ Ð¿ÑиÑÑÑÑÑÐ²Ð¸Ñ ASCII-кода\в многобайÑнÑÑ ÑÐ¸Ð¼Ð²Ð¾Ð»Ð°Ñ ). ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âsafe_encoding.ÐамеÑÑÑе, ÑÑо в ÑÑÑоковой конÑÑанÑе, запиÑанной ÑоглаÑно ÑÑандаÑÑÑ, знаки
\обознаÑаÑÑ Ð¿ÑоÑÑо\. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð²Ð»Ð¸ÑÐµÑ ÑолÑко на воÑпÑиÑÑие ÑÑÑок, не ÑооÑвеÑÑÑвÑÑÑÐ¸Ñ ÑÑандаÑÑÑ, в Ñом ÑиÑле Ñ ÑинÑакÑиÑом ÑпеÑпоÑледоваÑелÑноÑÑей (E'...').default_with_oids(boolean)ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¾Ð¿ÑеделÑеÑ, бÑдÑÑ Ð»Ð¸ командÑ
CREATE TABLEиCREATE TABLE ASбез ÑвнÑÑ ÑказанийWITH OIDSиWITHOUT OIDSдобавлÑÑÑ ÑÑÐ¾Ð»Ð±ÐµÑ OID в ÑоздаваемÑе ÑаблиÑÑ. Ðн Ñакже ÑÑÑанавливаеÑ, бÑдÑÑ Ð»Ð¸ ÑÑолбÑÑ OID добавлÑÑÑÑÑ Ð² ÑаблиÑÑ, ÑоздаваемÑе командойSELECT INTO. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð·Ð½Ð°Ñение ÑÑого паÑамеÑÑа âoff(ÑÑолбÑÑ OID не добавлÑÑÑÑÑ); в PostgreSQL веÑÑии 8.0 и Ñанее он бÑл вклÑÑÑн (on).ÐÑакÑика иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ OID в полÑзоваÑелÑÑÐºÐ¸Ñ ÑаблиÑÐ°Ñ ÑÑиÑаеÑÑÑ ÑÑÑаÑевÑей, Ñак ÑÑо в болÑÑинÑÑве инÑÑаллÑÑий не ÑледÑÐµÑ Ð²ÐºÐ»ÑÑаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ. ÐÑиложениÑ, коÑоÑÑм ÑÑебÑеÑÑÑ ÑÑÐ¾Ð»Ð±ÐµÑ OID в опÑеделÑнной ÑаблиÑе, могÑÑ Ñвно ÑказаÑÑ
WITH OIDSпÑи Ñоздании ÑаблиÑÑ. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ ÑледÑÐµÑ Ð²ÐºÐ»ÑÑаÑÑ ÑолÑко Ð´Ð»Ñ ÑовмеÑÑимоÑÑи Ñо ÑÑаÑÑми пÑиложениÑми, коÑоÑÑе не делаÑÑ ÑÑого.escape_string_warning(boolean)Ðогда ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð²ÐºÐ»ÑÑÑн, ÑеÑÐ²ÐµÑ Ð²ÑдаÑÑ Ð¿ÑедÑпÑеждение, еÑли обÑаÑÐ½Ð°Ñ ÐºÐ¾ÑÐ°Ñ ÑеÑÑа (
\) вÑÑÑеÑаеÑÑÑ Ð² обÑÑной ÑÑÑоковой конÑÑанÑе (Ñ ÑинÑакÑиÑом'...') и паÑамеÑÑstandard_conforming_stringsоÑклÑÑÑн. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âon(вкл.).ÐÑиложениÑ, коÑоÑÑе пÑедпоÑиÑаÑÑ Ð¸ÑполÑзоваÑÑ Ð¾Ð±ÑаÑнÑÑ ÐºÐ¾ÑÑÑ Ð² виде ÑпеÑÑимвола, Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¿ÐµÑейÑи к пÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑинÑакÑиÑа ÑпеÑÑÑÑок (
E'...'), Ñак как по ÑмолÑÐ°Ð½Ð¸Ñ ÑепеÑÑ Ð² обÑÑнÑÑ ÑÑÑÐ¾ÐºÐ°Ñ Ð¾Ð±ÑаÑÐ½Ð°Ñ ÐºÐ¾ÑÐ°Ñ Ð²Ð¾ÑпÑинимаеÑÑÑ ÐºÐ°Ðº обÑÑнÑй Ñимвол, в ÑооÑвеÑÑÑвии Ñо ÑÑандаÑÑом SQL. ÐклÑÑение данного паÑамеÑÑа Ð¿Ð¾Ð¼Ð¾Ð³Ð°ÐµÑ Ð½Ð°Ð¹Ñи код, нÑждаÑÑийÑÑ Ð² модиÑикаÑии.lo_compat_privileges(boolean)Ð PostgreSQL до веÑÑии 9.0 Ð´Ð»Ñ Ð±Ð¾Ð»ÑÑÐ¸Ñ Ð¾Ð±ÑекÑов не назнаÑалиÑÑ Ð¿Ñава доÑÑÑпа, и поÑÑÐ¾Ð¼Ñ Ð¾Ð½Ð¸ бÑли вÑегда доÑÑÑÐ¿Ð½Ñ Ð½Ð° ÑÑение и запиÑÑ Ð´Ð»Ñ Ð²ÑÐµÑ Ð¿Ð¾Ð»ÑзоваÑелей. ÐÑли ÑÑÑановиÑÑ Ð´Ð»Ñ ÑÑого паÑамеÑÑа знаÑение
on, ÑÑÑеÑÑвÑÑÑие ÑепеÑÑ Ð¿ÑовеÑки пÑав оÑклÑÑаÑÑÑÑ Ð´Ð»Ñ ÑовмеÑÑимоÑÑи Ñ Ð¿ÑедÑдÑÑими веÑÑиÑми. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âoff. ÐзмениÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð³ÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели.УÑÑановка данного паÑамеÑÑа не пÑÐ¸Ð²Ð¾Ð´Ð¸Ñ Ðº оÑклÑÑÐµÐ½Ð¸Ñ Ð²ÑÐµÑ Ð¿ÑовеÑок безопаÑноÑÑи, ÑвÑзаннÑÑ Ñ Ð±Ð¾Ð»ÑÑими обÑекÑами â заÑÑагиваÑÑÑÑ ÑолÑко Ñе пÑовеÑки, коÑоÑÑе изменилиÑÑ Ð² PostgreSQL 9.0. ÐапÑимеÑ, ÑÑнкÑии
lo_import()иlo_export()бÑдÑÑ ÑÑебоваÑÑ Ð¿Ñав ÑÑпеÑполÑзоваÑÐµÐ»Ñ Ð²Ð½Ðµ завиÑимоÑÑи Ð¾Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ знаÑениÑ.operator_precedence_warning(boolean)Ðогда ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð²ÐºÐ»ÑÑÑн, анализаÑÐ¾Ñ Ð·Ð°Ð¿ÑоÑа бÑÐ´ÐµÑ Ð²ÑдаваÑÑ Ð¿ÑедÑпÑеждение Ð´Ð»Ñ Ð²ÑÐµÑ ÐºÐ¾Ð½ÑÑÑÑкÑий, коÑоÑÑе поменÑли поведение поÑле PostgreSQL 9.4 в ÑезÑлÑÑаÑе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿ÑиоÑиÑеÑов опеÑаÑоÑов. ÐÑо полезно Ð´Ð»Ñ Ð°ÑдиÑа, Ñак как позволÑÐµÑ Ð¿Ð¾Ð½ÑÑÑ, не ÑломалоÑÑ Ð»Ð¸ ÑÑо-Ñо вÑледÑÑвие ÑÑого изменениÑ. Ðо в пÑоизводÑÑвенной ÑÑеде вклÑÑаÑÑ ÐµÐ³Ð¾ не ÑледÑеÑ, Ñак как пÑедÑпÑÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑÑ Ð²ÑдаваÑÑÑÑ Ð¸ Ñогда, когда код абÑолÑÑно пÑавилÑнÑй и ÑооÑвеÑÑÑвÑÐµÑ ÑÑандаÑÑÑ SQL. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â
off.Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº ÐодÑазделÑ 4.1.6.
quote_all_identifiers(boolean)ÐÑинÑдиÑелÑно заклÑÑаÑÑ Ð² кавÑÑки вÑе иденÑиÑикаÑоÑÑ, даже еÑли ÑÑо не клÑÑевÑе Ñлова (ÑегоднÑ), пÑи полÑÑении SQL из Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ . ÐÑо каÑаеÑÑÑ Ð²Ñвода
EXPLAIN, а Ñакже ÑезÑлÑÑаÑов ÑÑнкÑий Ñипаpg_get_viewdef. См. Ñакже опиÑание аÑгÑменÑа--quote-all-identifiersкоманд pg_dump и pg_dumpall.sql_inheritance(boolean)ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¾Ð¿ÑеделÑеÑ, бÑÐ´ÐµÑ Ð»Ð¸ иÑполÑзование ÑÐ°Ð±Ð»Ð¸Ñ Ð±ÐµÐ· ÑÑоÑнений подÑазÑмеваÑÑ Ð²ÐºÐ»ÑÑение доÑеÑÐ½Ð¸Ñ ÑÐ°Ð±Ð»Ð¸Ñ Ð² иеÑаÑÑ Ð¸Ð¸ наÑледованиÑ. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â
on, ÑÑо ознаÑаеÑ, ÑÑо доÑеÑние ÑаблиÑÑ Ð²ÐºÐ»ÑÑаÑÑÑÑ (Ñо еÑÑÑ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð¿Ð¾Ð´ÑазÑмеваеÑÑÑ ÑÑÑÑикÑ*). ÐÑи знаÑенииoffдоÑеÑние ÑаблиÑÑ Ð½Ðµ вклÑÑаÑÑÑÑ (Ñо еÑÑÑ Ð¿Ð¾Ð´ÑазÑмеваеÑÑÑ Ð¿ÑеÑикÑONLY). СÑандаÑÑ SQL ÑÑебÑеÑ, ÑÑÐ¾Ð±Ñ Ð´Ð¾ÑеÑние ÑаблиÑÑ Ð²ÐºÐ»ÑÑалиÑÑ, Ñак ÑÑо ваÑианÑoffне ÑооÑвеÑÑÑвÑÐµÑ ÑÑандаÑÑÑ, но пÑедлагаеÑÑÑ Ð´Ð»Ñ ÑовмеÑÑимоÑÑи Ñ PostgreSQL до веÑÑии 7.1. Ðа дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº РазделÑ 5.9.Ðоведение Ñ Ð²ÑклÑÑеннÑм
sql_inheritanceÑÑиÑаеÑÑÑ ÑÑÑаÑевÑим, Ñак как оно не ÑолÑко пÑоÑивоÑеÑÐ¸Ñ ÑÑандаÑÑÑ SQL, но и пÑовоÑиÑÑÐµÑ Ð¾Ñибки. ÐÑи обÑÑждении наÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² ÑÑом ÑÑководÑÑве обÑÑно пÑедполагаеÑÑÑ, ÑÑо даннÑй паÑамеÑÑ Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñениеon.standard_conforming_strings(boolean)ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¾Ð¿ÑеделÑеÑ, бÑÐ´ÐµÑ Ð»Ð¸ обÑаÑÐ½Ð°Ñ ÐºÐ¾ÑÐ°Ñ ÑеÑÑа в обÑÑнÑÑ ÑÑÑоковÑÑ ÐºÐ¾Ð½ÑÑанÑÐ°Ñ (
'...') воÑпÑинимаÑÑÑÑ Ð±ÑквалÑно, как Ñого ÑÑебÑÐµÑ ÑÑандаÑÑ SQL. ÐаÑÐ¸Ð½Ð°Ñ Ñ Ð²ÐµÑÑии PostgreSQL 9.1, он Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñениеon(в пÑедÑдÑÑÐ¸Ñ Ð²ÐµÑÑиÑÑ Ð·Ð½Ð°Ñение по ÑмолÑÐ°Ð½Ð¸Ñ Ð±Ñлоoff). ÐÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑÑ Ð²ÑÑÑниÑÑ, как обÑабаÑÑваÑÑÑÑ ÑÑÑоковÑе конÑÑанÑÑ, пÑовеÑив ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ. ÐалиÑие ÑÑого паÑамеÑÑа Ð¼Ð¾Ð¶ÐµÑ Ñакже бÑÑÑ Ð¿Ñизнаком Ñого, ÑÑо поддеÑживаеÑÑÑ ÑинÑакÑÐ¸Ñ ÑпеÑпоÑледоваÑелÑноÑÑей (E'...'). ÐÑÐ¾Ñ ÑинÑакÑÐ¸Ñ (ÐодÑаздел 4.1.2.2) ÑледÑÐµÑ Ð¸ÑполÑзоваÑÑ, еÑли пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð½Ñжно, ÑÑÐ¾Ð±Ñ Ð¾Ð±ÑаÑÐ½Ð°Ñ ÐºÐ¾ÑÐ°Ñ Ð²Ð¾ÑпÑинималаÑÑ ÐºÐ°Ðº ÑпеÑÑимвол.synchronize_seqscans(boolean)ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð²ÐºÐ»ÑÑÐ°ÐµÑ ÑÐ¸Ð½Ñ ÑонизаÑÐ¸Ñ Ð¾Ð±ÑаÑений пÑи поÑледоваÑелÑном ÑканиÑовании болÑÑÐ¸Ñ ÑаблиÑ, ÑÑÐ¾Ð±Ñ ÑÑи опеÑаÑии ÑиÑали один блок пÑимеÑно в одно и Ñо же вÑемÑ, и, Ñаким обÑазом, нагÑÑзка ÑазделÑлаÑÑ Ð¼ÐµÐ¶Ð´Ñ Ð½Ð¸Ð¼Ð¸. Ðогда он вклÑÑÑн, ÑканиÑование Ð¼Ð¾Ð¶ÐµÑ Ð½Ð°ÑаÑÑÑÑ Ð² ÑеÑедине ÑаблиÑÑ, ÑÑÐ¾Ð±Ñ ÑÐ¸Ð½Ñ ÑонизиÑоваÑÑÑÑ Ñо ÑканиÑованием, коÑоÑое Ñже вÑполнÑеÑÑÑ. Ðо доÑÑижении конÑа ÑаблиÑÑ ÑканиÑование «завоÑаÑиваеÑÑÑ» к наÑÐ°Ð»Ñ Ð¸ завеÑÑÐ°ÐµÑ Ð¾Ð±ÑабоÑÐºÑ Ð¿ÑопÑÑеннÑÑ ÑÑÑок. ÐÑо Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи к непÑедÑказÑÐµÐ¼Ð¾Ð¼Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ð¾ÑÑдка ÑÑÑок, возвÑаÑаемÑÑ Ð·Ð°Ð¿ÑоÑами, в коÑоÑÑÑ Ð¾ÑÑÑÑÑÑвÑÐµÑ Ð¿Ñедложение
ORDER BY. Ðогда ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð²ÑклÑÑен (Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñениеoff), ÑеализÑеÑÑÑ Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ðµ, пÑинÑÑое до веÑÑии 8.3, когда поÑледоваÑелÑное ÑканиÑование вÑегда наÑиналоÑÑ Ñ Ð½Ð°Ñала ÑаблиÑÑ. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âon.
18.13.2. СовмеÑÑимоÑÑÑ Ñ ÑазнÑми плаÑÑоÑмами и клиенÑами
transform_null_equals(boolean)Ðогда ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð²ÐºÐ»ÑÑÑн, пÑовеÑки вида
(иливÑÑажение= NULLNULL =) воÑпÑинимаÑÑÑÑ ÐºÐ°ÐºÐ²ÑÑажение, Ñо еÑÑÑ Ð¾Ð½Ð¸ иÑÑиннÑ, еÑливÑÑажениеIS NULLвÑÑажениедаÑÑ Ð·Ð½Ð°Ñение NULL, и Ð»Ð¾Ð¶Ð½Ñ Ð² пÑоÑивном ÑлÑÑае. СоглаÑно ÑпеÑиÑикаÑии SQL, ÑÑавнениедолжно вÑегда возвÑаÑаÑÑ NULL (неизвеÑÑное знаÑение). ÐоÑÑÐ¾Ð¼Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð²ÑклÑÑен (ÑавенвÑÑажение= NULLoff).Ðднако ÑоÑÐ¼Ñ ÑилÑÑÑов в Microsoft Access генеÑиÑÑÑÑ Ð·Ð°Ð¿ÑоÑÑ, в коÑоÑÑÑ Ð¿ÑовеÑка на знаÑение NULL запиÑÑваеÑÑÑ ÐºÐ°Ðº
, Ñак ÑÑо еÑли Ð²Ñ Ð¸ÑполÑзÑеÑе ÑÑÐ¾Ñ Ð¸Ð½ÑеÑÑÐµÐ¹Ñ Ð´Ð»Ñ Ð¾Ð±ÑаÑÐµÐ½Ð¸Ñ Ðº базе даннÑÑ , Ð¸Ð¼ÐµÐµÑ ÑмÑÑл вклÑÑиÑÑ Ð´Ð°Ð½Ð½Ñй паÑамеÑÑ. Так как пÑовеÑки видавÑÑажение= NULLвÑегда возвÑаÑаÑÑ Ð·Ð½Ð°Ñение NULL (ÑледÑÑ Ð¿Ñавилам ÑÑандаÑÑа SQL), они не оÑÐµÐ½Ñ Ð¿Ð¾Ð»ÐµÐ·Ð½Ñ Ð¸ не Ð´Ð¾Ð»Ð¶Ð½Ñ Ð²ÑÑÑеÑаÑÑÑÑ Ð² обÑÑнÑÑ Ð¿ÑиложениÑÑ , Ñак ÑÑо на пÑакÑике Ð¾Ñ Ð²ÐºÐ»ÑÑÐµÐ½Ð¸Ñ ÑÑого паÑамеÑÑа не бÑÐ´ÐµÑ Ð±Ð¾Ð»ÑÑого вÑеда. Ðднако наÑинаÑÑие полÑзоваÑели ÑаÑÑо пÑÑаÑÑÑÑ Ð² ÑеманÑике вÑÑажений Ñо знаÑениÑми NULL, поÑÑÐ¾Ð¼Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð²ÑклÑÑен.вÑÑажение= NULLÐамеÑÑÑе, ÑÑо ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð²Ð»Ð¸ÑÐµÑ ÑолÑко на ÑоÑнÑÑ ÑоÑÐ¼Ñ ÑÑавнениÑ
= NULL, но не на дÑÑгие опеÑаÑоÑÑ ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ вÑÑажениÑ, ÑезÑлÑÑÐ°Ñ ÐºÐ¾ÑоÑÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑавнознаÑен ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ñ Ð¿Ñименением опеÑаÑоÑа ÑавенÑÑва (напÑимеÑ, конÑÑÑÑкÑиÑIN). ÐоÑÑÐ¾Ð¼Ñ Ð´Ð°Ð½Ð½Ñй паÑамеÑÑ Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑнивеÑÑалÑной заÑиÑой Ð¾Ñ Ð¿Ð»Ð¾Ñ Ð¸Ñ Ð¿ÑиÑмов пÑогÑаммиÑованиÑ.Ðа ÑопÑÑÑÑвÑÑÑей инÑоÑмаÑией обÑаÑиÑеÑÑ Ðº РазделÑ 9.2.