Table_constraint (Transact-SQL)
Показва началото на определянето на ограничения основен ключ, UNIQUE, външен ключ, както и проверка, по подразбиране и предложения.
ограничение име. Имената на ограничаващите трябва да спазват правилата за идентификатори. с изключение на това, че не може да започне с табела номер (#). Ако не е посочен constraint_name аргумент, ограничението е дадено име, системата формира.
Ограничение е ефективността принудени от почтеност лице от колоната или колоните с помощта на уникален индекс. За всяка таблица може да се създаде само едно ограничение първичен ключ.
Ограничението осигурява целостта лице за определен колоната или колоните се използва уникален индекс.
Това показва, че основен ключ или уникален създава струпани или не-клъстерирани индекс. По подразбиране основен ключ Клъстер ограничения имат стойност. По подразбиране UNIQUE ограничение има NONCLUSTERED стойност.
Ако струпани ограничение или индекс вече е създаден в таблицата, не може да бъде определен Клъстер стойност. Ако струпани ограничение или индекс вече съществува в таблицата, първичен ключ ограничения по подразбиране, за да NONCLUSTERED стойност.
Колони с данни тип ntext. текст. VARCHAR (максимум). nvarchar (максимум). VARBINARY (максимум). XML или изображение. Те не могат да се посочи като индекс на колони.
А колона или списък на колони в скоби, които се използват в новия бордюра.
Показва реда на сортиране на колоната или колоните в ограниченията на масата участва. Стойност по подразбиране - ASC.
Това показва колко добре компонента машината на базата данни трябва да попълните всяка страница индекс се използва за съхранение на данните за индекса. Потребителят може да се дава стойностите на аргумента fillfactor в диапазона от 1 до 100. Ако не е посочено, стойността 0 е по подразбиране.
Описание изразяване С FILLFACTOR = fillfactor като единствен индекс опцията, която се отнася за първичен ключ или уникален, отглеждани за обратна съвместимост, но в бъдещите версии на този израз не е документирано. Други опции индекси могат да бъдат посочени в офертата index_option изявление ALTER масата.
Определя местата за съхранение на индекса, създаден за ограничението. Ако определено partition_scheme_name аргумент. Индексът е разделен на секции, които са съчетани с файлови групи дефинирани аргумент partition_scheme_name. Ако аргументът е определена filegroup. индекс се създава в името filegroup. Ако аргументът е посочено "по подразбиране" или ON клауза не е определена на всички, индексът е създадена по същия filegroup като масата. Ако добавите струпани индекс за първичния ключ или уникален ограничения клауза е обозначено на цялата маса се премества в указаната filegroup при създаването на индекса.
В този контекст, думата «подразбиране» не е ключова дума; е идентификатор за filegroup по подразбиране, който трябва да бъде ограничено до специални символи, както по отношение на тема "по подразбиране" или ON [подразбиране]. Ако е зададено "по подразбиране". QUOTED_IDENTIFIER параметъра за текущата сесия трябва да бъде настроен на ON. Тази стойност се използва по подразбиране.
Външен ключ ЛИТЕРАТУРА
Ограничение, което осигурява референтна цялостност на данните в колоната. Външен ключ ограничения изискват, че е необходимо да съществува в споменатата референтна маса колона всяка стойност в колоната.
Таблица че е посочен от чуждестранни ключ.
А колона или списък на колони в скоби цитирани от новото ограничение външен ключ.
Компонент Компонент SQL Server Database Engine генерира грешка и се завъртя обратно действие на изтриване на ред в таблицата родител.
Ако реда от таблицата родител се заличава, съответстващи си редове се заличават от таблицата съотнасяне.
Всички стойности, които правят външния ключ, когато се изтрива съответния ред в таблицата родител са настроени да NULL. За да постигне това, външните ограничения на основните колони трябва да позволяват NULL стойности.
Всички стойности, съдържащи външния ключ са настроени на техните стойности по подразбиране чрез премахване на съответния родител ред. За да постигне това ограничение, всички външни ключови колони трябва да имат определения по подразбиране. Ако колоната позволява NULL стойности и по подразбиране изрично посочени, стойността по подразбиране на колоната става NULL.
Не използвайте опцията CASCADE, ако на масата, ще бъдат включени в публикация, сливане, който използва логическите записи. За повече информация относно логическите записи, които виждате. Групиране Промени Свързани Редове с логически записи.
Действие При изтриване CASCADE не може да се определи, ако на масата вече съществува променлива спусъка, а не на DELETE.
Ако по-горе ред в таблица за търговец ИЗТРИЙ инструкция се изпълнява, както и за посочените ефекти ProductVendor.VendorID ON DELETE CASCADE, тогава компонент Компонент проверките на Database Engine за една или повече зависими редове ProductVendor маса. Ако те не съществуват, но редовете в таблицата за търговец. ще бъдат изтрити и всички зависими редове в таблицата ProductVendor.
В противен случай, ако стойността не се предприемат действия, компонент Компонент Database Engine причинява работа грешка и ролки за отстраняване на низове в таблицата, ако поне един ред в таблицата се отнася до това ProductVendor.
Компонент Компонент Database Engine извежда грешка, и актуализацията на родител ред в таблицата се навива обратно.
Съответните редове се обновяват в таблицата на съотнасяне, ако този ред се актуализира в таблицата родител.
Всички стойности, представляващи външния ключ е в положение NULL, актуализира, когато съответния ред в таблицата родител. За да постигне това, външните ограничения на основните колони трябва да позволяват NULL стойности.
Всички стойности, които правят външния ключ са настроени на тяхната стойност по подразбиране, когато съответният ред се актуализира в таблицата родител. За да постигне това ограничение, всички външни ключови колони трябва да имат определения по подразбиране. Ако колоната позволява NULL стойности и по подразбиране изрично посочени, стойността по подразбиране на колоната става NULL.
Не използвайте опцията CASCADE, ако на масата, ще бъдат включени в публикация, сливане, който използва логическите записи. За повече информация относно логическите записи, които виждате. Групиране Промени Свързани Редове с логически записи.
Действие ON UPDATE CASCADE, SET NULL и настройка по подразбиране не може да се определи, ако променливата масата вече съществува за ВМЕСТО спусъка на условия актуализация.
При извършване на изявление UPDATE на опашката за търговец таблица показва ON UPDATE CASCADE за ProductVendor.VendorID колона. Компонент компонент Database Engine произвежда промяна ProductVendor зависими редове в таблицата. Ако те съществуват, с изключение на реда в доставчика на маса също ще бъде променен и зависими ред в ProductVendor маса.
Ако не показват ДЕЙСТВИЕ, компонент Компонент Database Engine инициира грешка и ролки обратно актуализацията ред в таблицата на операция за търговец. ако се отнася до най-малко един ред ProductVendor маса.
НЕ за повторяемост
Той може да бъде определен за ограничаване и FOREIGN KEY CHECK. Ако това ограничение е придружено от предложение, то не се извършва, когато репликация агенти изпълняват вмъкване, обновяване или изтриване.
Тя определя стойността по подразбиране на колоната. Стандартни дефиниции могат да бъдат използвани за определяне на стойностите по подразбиране за новата колона в съществуващите редове от данни. не могат да се добавят определения подразбиране за колоните, които съдържат типа клеймото на данни. Трябва самоличността имота, съществуващото определение на по подразбиране, или ако те са зададени по подразбиране. Ако една колона е настроен на стойността по подразбиране, трябва да го премахнете, преди да можете да зададете нови настройки по подразбиране. Ако една колона е настроен по подразбиране, дефинирана от потребителя тип, типа трябва да поддържа имплицитно преобразуване constant_expression изрази в UDT. За да се поддържа съвместимост с по-стари версии на стойност SQL Server DEFAULT може да бъде назначен на ограничение име.
Буквалното значение, NULL, или функция на система използва като колоната по подразбиране. Ако constant_expression аргумент се използва заедно с колона Microsoft.NET Framework дефинирани от потребителя тип, вид на изпълнение трябва да подкрепя израз открита конверсия constant_expression за дефиниран от потребителя тип.
Задава колоната, свързани с определението за неизпълнение маса ниво.
Това показва, че стойността, посочена като DEFAULT за constant_expression аргумент. се съхранява в нова колона се добавя към съществуващите редове. Оператор със стойности, може да бъде определен само ако посочите опцията по подразбиране в колоната за оферта ADD. Ако добавена колоната позволява NULL стойности и Set оператор със стойности, нова колона се добавя към съществуващите редове, изпълнен с стойност по подразбиране. Ако със стойности изявление не е уточнено за колони, които позволяват на стойност NULL, нова колона за съществуващите редове е изпълнен с NULL. Ако новата колона не позволява NULL стойности, стойността по подразбиране се съхранява във всички редове, независимо дали със стойности Задаване на оператора или не.
Ограничение осигуряването цялост домейн чрез ограничаване на възможните стойности, които могат да бъдат включени в колона или колони.
Логическият израз, използван в условието за проверка и връща истина или лъжа. Аргумент logical_expression. използвани в ограниченията на проверката, не може да съдържа препратки към други таблици, но това може да се отнася към други колони в една и съща маса в един и същи ред. Изразът не може да се отнася до типа псевдоним данни.
При добавяне на нови ограничения FOREIGN KEY или CHECK, всички налични данни, се проверява за спазването на ограниченията, освен ако не посочите С NOCHECK. В този случай, ако откритите нарушения, изпълнение на ALTER TABLE е неуспешно. Когато се добави към съществуващ колона основен ключ ограничения UNIQUE или всички от данните в лентата трябва да е уникално. Ако е установено, че дублиращите се стойности, ALTER TABLE е неуспешно. При добавяне на първичен ключ ограничения или наличността параметър уникален със NOCHECK не е важно.
Всеки основен ключ ограничение UNIQUE и създава индекс. Броят и уникален първичен ключ ограничения не може да доведе до превишаване на пределно допустимата брой индекси в таблицата (999 1 струпани и не-групова). чуждестранни ключови ограничения не водят автоматично създаване на индекса. Въпреки това, чуждестранните основните графи, често се използват като критерии за заявки за свързване чрез сравняване на колоната или колоните на външния ключ на една маса с колона или колони от първичен или уникален ключ в друга таблица. колоните на ключов индекс за външна маса позволява на компонента машината на базата данни, за да намерите бързо свързани данни в външен ключ масата.