Следующий код добавляет значение по умолчанию ‘NY’ для поля region.
USE ClassNorthwind
/* Drop the constraint if it already exists */
IF OBJECT_ID('DF_Region') IS NOT NULL
ALTER TABLE Employees
DROP CONSTRAINT DF_Region
GO
/* Add the constraint */
ALTER TABLE Employees
ADD CONSTRAINT DF_Region DEFAULT 'NY' FOR Region
GO
Используйте процедуры sp_helpconstraint и sp_help для получения информации о значении по умолчанию.
Следующий скрипт добавляет проверку любезности
USE ClassNorthwind
GO
/* Drop the constraint if it already exists */
IF EXISTS
(SELECT * FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS
where CONSTRAINT_NAME = 'CK_TitleOfCourtesy')
ALTER TABLE Employees
DROP CONSTRAINT CK_TitleOfCourtesy
GO
/* Now add the CK_TitleOfCourtesy constraint */
ALTER TABLE Employees WITH NOCHECK
ADD CONSTRAINT CK_TitleOfCourtesy
CHECK (TitleOfCourtesy IN ('Ms.','Mrs.','Mr.','Dr.'))
GO
Следующий скрипт добавляет ограничение на доту рождения:
USE ClassNorthwind
ALTER TABLE Employees
ADD CONSTRAINT CK_BirthDate
CHECK (BirthDate < GETDATE())
GO
Первый скрипт, добавляющий первичный ключ к таблице Employees:
USE ClassNorthwind
SET NOCOUNT ON
GO
/* The Employees table */
IF EXISTS
(SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
where CONSTRAINT_SCHEMA = 'dbo'
AND CONSTRAINT_NAME = 'PK_Employees'
AND CONSTRAINT_TYPE = 'PRIMARY KEY')
ALTER TABLE Employees
DROP CONSTRAINT PK_Employees
GO
ALTER TABLE Employees
ADD CONSTRAINT PK_Employees
PRIMARY KEY NONCLUSTERED (EmployeeID)
GO
/* Reset the NOCOUNT option */
SET NOCOUNT OFF
GO
Ещё один скрипт, добавляющий первичный ключ к таблице Customers:
USE ClassNorthwind
ALTER TABLE Customers
ADD CONSTRAINT PK_Customers
PRIMARY KEY NONCLUSTERED (CustomerID)
GO
Выполните скрипт, написанный в файле PriKey2.SQL. Здесь создаются первичные ключи для таблиц, которые мы будем использовать в дальнейшем.
Скрипты объявления вторичного ключа находятся в файлах ForKey1.sql и ForKey2.sql.
Создаём и связываем значение по умолчанию с колонкой в таблице:
USE ClassNorthwind
/* If the object already exists, drop it */
IF OBJECT_ID('DF_Country') IS NOT NULL
BEGIN
EXEC sp_unbindefault 'dbo.Suppliers.Country'
DROP DEFAULT DF_Country
END
GO
/* The default for copy_no will be zero */
CREATE DEFAULT DF_Country AS 'Singapore'
GO
EXEC sp_bindefault DF_Country, 'dbo.Suppliers.Country'
GO
Этот скрипт добавляет значение по умолчанию 'Singapore' для поля Country. Выполните следующий скрипт, который добавляет новую строку в таблицу Suppliers. В этой строке не указано поле Country. После этого выполняется поиск всех строк, у которых поле Country равно 'Singapore' и мы видим в результате созданную строку, потому что поле Country нами не было указано при создании и было вставлено значение по умолчанию 'Singapore'.
USE ClassNorthwind
/* Добавление новой строки */
INSERT Suppliers (CompanyName) VALUES ('Karl')
GO
/* Поиск строк у которых поле Country равно 'Singapore' */
SELECT * FROM Suppliers
WHERE Country='Singapore'
GO
Для создания правила выполните следующий скрипт:
USE ClassNorthwind
-- If the rule already exists, unbind and drop it.
IF OBJECT_ID('R_PhotoPath') IS NOT NULL
BEGIN
EXEC sp_unbindrule 'dbo.Employees.PhotoPath'
DROP RULE R_PhotoPath
END
GO
-- Create and bind the Rule.
CREATE RULE R_PhotoPath
AS @PhotoPath LIKE 'http://accweb/emmployees/%'
GO
EXEC sp_bindrule R_PhotoPath, 'dbo.Employees.PhotoPath'
GO
Выполните следующий скрипт для проверки правила. Вы должны увидеть ошибку, потому что Интернет адрес введён неправильно - xemmployess, что несоотвутствует шаблону из за опечатки:
UPDATE Employees
SET PhotoPath='http://accweb/xemmployess/'
WHERE LastName='Fuller'
Использование индексов может сильно увеличить производительность базы данных. В этой секции описываются основные концепции индексов, и описывается когда и зачем использовать индексы.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.