Главная / Базы данных /
Программирование в Microsoft SQL Server 2000 / Тест 22
Программирование в Microsoft SQL Server 2000 - тест 22
Упражнение 1:
Номер 1
Язык обращения с данными DML предназначен для:
Ответ:
 (1) создания объектов в базе данных и для установки свойств и значений атрибутов самой базы данных 
 (2) управления доступом к средствам администрирования 
 (3) создания и получения данных 
Номер 2
Язык определения данных DDL предназначен для:
Ответ:
 (1) создания и получения данных 
 (2) создания объектов в базе данных и для установки свойств и значений атрибутов самой базы данных 
 (3) управления доступом к средствам администрирования 
Номер 3
Язык SQL имеет составляющие:
Ответ:
 (1) DML 
 (2) DSQL 
 (3) DSL 
 (4) DDL 
 (5) IDL 
Упражнение 2:
Номер 1
Синтаксис оператора CREATE INDEX
имеет вид:
Ответ:
 (1)
CREATE INDEX index_name
ON { table | view } ( column [ ASC | DESC ] [ ,...n ] )
[ WITH < index_option > [ ,...n] ]
< index_option > :: =
{ PAD_INDEX |
FILLFACTOR = fillfactor |
IGNORE_DUP_KEY |
DROP_EXISTING |
STATISTICS_NORECOMPUTE |
SORT_IN_TEMPDB
}
 
 (2)
CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name
ON { table | view } ( column [ ASC | DESC ] [ ,...n ] )
[ ON filegroup ]
 
 (3)
CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name
ON { table | view } ( column [ ASC | DESC ] [ ,...n ] )
[ WITH < index_option > [ ,...n] ]
[ ON filegroup ]
< index_option > :: =
{ PAD_INDEX |
FILLFACTOR = fillfactor |
IGNORE_DUP_KEY |
DROP_EXISTING |
STATISTICS_NORECOMPUTE |
SORT_IN_TEMPDB
}
 
Номер 2
Синтаксис оператора CREATE STATISTICS
имеет вид:
Ответ:
 (1)
CREATE STATISTICS statistics_name
[ WITH
[ [ FULLSCAN
| SAMPLE number { PERCENT | ROWS } ] [ , ] ]
[ NORECOMPUTE ]
]
 
 (2)
CREATE STATISTICS statistics_name
ON { table | view } ( column [ ,...n ] )
[ WITH
[ [ FULLSCAN
| SAMPLE number { PERCENT | ROWS } ] [ , ] ]
[ NORECOMPUTE ]
]
 
 (3)
CREATE STATISTICS statistics_name
ON { table | view } ( column [ ,...n ] )
 
Номер 3
Синтаксис оператора CREATE INDEX
имеет вид:
Ответ:
 (1)
CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name
ON { table | view } ( column [ ASC | DESC ] [ ,...n ] )
[ WITH < index_option > [ ,...n] ]
[ ON filegroup ]
< index_option > :: =
{ PAD_INDEX |
FILLFACTOR = fillfactor |
IGNORE_DUP_KEY |
DROP_EXISTING |
STATISTICS_NORECOMPUTE |
SORT_IN_TEMPDB
}
 
 (2)
CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name
ON { table | view } ( column [ ASC | DESC ] [ ,...n ] )
[ ON filegroup ]
 
 (3)
CREATE INDEX index_name
ON { table | view } ( column [ ASC | DESC ] [ ,...n ] )
[ WITH < index_option > [ ,...n] ]
< index_option > :: =
{ PAD_INDEX |
FILLFACTOR = fillfactor |
IGNORE_DUP_KEY |
DROP_EXISTING |
STATISTICS_NORECOMPUTE |
SORT_IN_TEMPDB
}
 
Номер 4
Синтаксис оператора CREATE STATISTICS
имеет вид:
Ответ:
 (1)
CREATE STATISTICS statistics_name
ON { table | view } ( column [ ,...n ] )
 
 (2)
CREATE STATISTICS statistics_name
ON { table | view } ( column [ ,...n ] )
[ WITH
[ [ FULLSCAN
| SAMPLE number { PERCENT | ROWS } ] [ , ] ]
[ NORECOMPUTE ]
]
 
 (3)
CREATE STATISTICS statistics_name
[ WITH
[ [ FULLSCAN
| SAMPLE number { PERCENT | ROWS } ] [ , ] ]
[ NORECOMPUTE ]
]
 
Упражнение 3:
Номер 1
Синтаксис оператора CREATE DATABASE
имеет вид:
Ответ:
 (1)
CREATE DATABASE database_name
[ ON
[ < filespec > [ ,...n ] ]
[ , < filegroup > [ ,...n ] ]
]
< filespec > ::=
[ PRIMARY ]
( [ NAME = logical_file_name , ]
FILENAME = 'os_file_name'
[ , SIZE = size ]
[ , MAXSIZE = { max_size | UNLIMITED } ]
[ , FILEGROWTH = growth_increment ] ) [ ,...n ]
< filegroup > ::=
FILEGROUP filegroup_name < filespec > [ ,...n ]
 
 (2)
CREATE DATABASE database_name
[ LOG ON { < filespec > [ ,...n ] } ]
[ COLLATE collation_name ]
[ FOR LOAD | FOR ATTACH ]
 
 (3)
CREATE DATABASE database_name
[ ON
[ < filespec > [ ,...n ] ]
[ , < filegroup > [ ,...n ] ]
]
[ LOG ON { < filespec > [ ,...n ] } ]
[ COLLATE collation_name ]
[ FOR LOAD | FOR ATTACH ]
< filespec > ::=
[ PRIMARY ]
( [ NAME = logical_file_name , ]
FILENAME = 'os_file_name'
[ , SIZE = size ]
[ , MAXSIZE = { max_size | UNLIMITED } ]
[ , FILEGROWTH = growth_increment ] ) [ ,...n ]
< filegroup > ::=
FILEGROUP filegroup_name < filespec > [ ,...n ]
 
Номер 2
Синтаксис оператора CREATE FUNCTION
имеет вид:
Ответ:
 (1)
CREATE FUNCTION [ owner_name. ] function_name
( [ { @parameter_name [AS] scalar_parameter_data_type [ = default ] } [ ,...n ] ] )
RETURNS scalar_return_data_type
[ WITH < function_option> [ [,] ...n] ]
AS
 
 (2)
CREATE FUNCTION [ owner_name. ] function_name
( [ { @parameter_name [AS] scalar_parameter_data_type [ = default ] } [ ,...n ] ] )
RETURNS scalar_return_data_type
[ WITH < function_option> [ [,] ...n] ]
[ AS ]
BEGIN
function_body
RETURN scalar_expression
END
 
 (3)
CREATE FUNCTION [ owner_name. ] function_name
( [ { @parameter_name [AS] scalar_parameter_data_type [ = default ] } [ ,...n ] ] )
BEGIN
function_body
RETURN scalar_expression
END
 
Номер 3
Синтаксис оператора CREATE DATABASE
имеет вид:
Ответ:
 (1)
CREATE DATABASE database_name
[ ON
[ < filespec > [ ,...n ] ]
[ , < filegroup > [ ,...n ] ]
]
[ LOG ON { < filespec > [ ,...n ] } ]
[ COLLATE collation_name ]
[ FOR LOAD | FOR ATTACH ]
< filespec > ::=
[ PRIMARY ]
( [ NAME = logical_file_name , ]
FILENAME = 'os_file_name'
[ , SIZE = size ]
[ , MAXSIZE = { max_size | UNLIMITED } ]
[ , FILEGROWTH = growth_increment ] ) [ ,...n ]
< filegroup > ::=
FILEGROUP filegroup_name < filespec > [ ,...n ]
 
 (2)
CREATE DATABASE database_name
[ ON
[ < filespec > [ ,...n ] ]
[ , < filegroup > [ ,...n ] ]
]
< filespec > ::=
[ PRIMARY ]
( [ NAME = logical_file_name , ]
FILENAME = 'os_file_name'
[ , SIZE = size ]
[ , MAXSIZE = { max_size | UNLIMITED } ]
[ , FILEGROWTH = growth_increment ] ) [ ,...n ]
< filegroup > ::=
FILEGROUP filegroup_name < filespec > [ ,...n ]
 
 (3)
CREATE DATABASE database_name
[ LOG ON { < filespec > [ ,...n ] } ]
[ COLLATE collation_name ]
[ FOR LOAD | FOR ATTACH ]
 
Номер 4
Синтаксис оператора CREATE FUNCTION
имеет вид:
Ответ:
 (1)
CREATE FUNCTION [ owner_name. ] function_name
( [ { @parameter_name [AS] scalar_parameter_data_type [ = default ] } [ ,...n ] ] )
BEGIN
function_body
RETURN scalar_expression
END
 
 (2)
CREATE FUNCTION [ owner_name. ] function_name
( [ { @parameter_name [AS] scalar_parameter_data_type [ = default ] } [ ,...n ] ] )
RETURNS scalar_return_data_type
[ WITH < function_option> [ [,] ...n] ]
[ AS ]
BEGIN
function_body
RETURN scalar_expression
END
 
 (3)
CREATE FUNCTION [ owner_name. ] function_name
( [ { @parameter_name [AS] scalar_parameter_data_type [ = default ] } [ ,...n ] ] )
RETURNS scalar_return_data_type
[ WITH < function_option> [ [,] ...n] ]
AS
 
Упражнение 4:
Номер 1
Синтаксис, для определения столбцов имеет вид:
Ответ:
 (1)
<имя_столбца>> <тип_данных>
[
[IDENTITY [(начальное_значение>, <шаг_увеличения>)[NOT FOR REPLICATION]]]]
[ROWGUIDCOL]
[<ограничение_для_столбца>[, <ограничение_для_столбца>...]]
 
 (2)
<имя_столбца>> <тип_данных>
[NULL | NOT NULL]
[
[DEFAULT <значение_по_умолчанию>] |
[IDENTITY [(начальное_значение>, <шаг_увеличения>)[NOT FOR REPLICATION]]]]
 
 (3)
<имя_столбца>> <тип_данных>
[NULL | NOT NULL]
[
[DEFAULT <значение_по_умолчанию>] |
[IDENTITY [(начальное_значение>, <шаг_увеличения>)[NOT FOR REPLICATION]]]]
[ROWGUIDCOL]
[<ограничение_для_столбца>[, <ограничение_для_столбца>...]]
 
Номер 2
Синтаксис на ограничения столбцов имеет вид:
Ответ:
 (1)
[CONSTRAINT <имя_ограничения>]
[
[[FOREIGN KEY] REFERENCES <ссылочная_таблица> (имя_столбца)] |
[CHECK [NOT FOR REPLICATION] (<логическое выражение>)]
]
 
 (2)
[CONSTRAINT <имя_ограничения>]
[
[PRIMARY KEY | UNIQUE] [CLUSTERED | NONCLUSTERED] |
[[FOREIGN KEY] REFERENCES <ссылочная_таблица> (имя_столбца)] |
[CHECK [NOT FOR REPLICATION] (<логическое выражение>)]
]
 
 (3)
[CONSTRAINT <имя_ограничения>]
[
[PRIMARY KEY | UNIQUE] [CLUSTERED | NONCLUSTERED] |
[[FOREIGN KEY] REFERENCES <ссылочная_таблица> (имя_столбца)]
]
 
Номер 3
Синтаксис, для определения столбцов имеет вид:
Ответ:
 (1)
<имя_столбца>> <тип_данных>
[NULL | NOT NULL]
[
[DEFAULT <значение_по_умолчанию>] |
[IDENTITY [(начальное_значение>, <шаг_увеличения>)[NOT FOR REPLICATION]]]]
[ROWGUIDCOL]
[<ограничение_для_столбца>[, <ограничение_для_столбца>...]]
 
 (2)
<имя_столбца>> <тип_данных>
[
[IDENTITY [(начальное_значение>, <шаг_увеличения>)[NOT FOR REPLICATION]]]]
[ROWGUIDCOL]
[<ограничение_для_столбца>[, <ограничение_для_столбца>...]]
 
 (3)
<имя_столбца>> <тип_данных>
[NULL | NOT NULL]
[
[DEFAULT <значение_по_умолчанию>] |
[IDENTITY [(начальное_значение>, <шаг_увеличения>)[NOT FOR REPLICATION]]]]
 
Номер 4
Синтаксис на ограничения столбцов имеет вид:
Ответ:
 (1)
[CONSTRAINT <имя_ограничения>]
[
[PRIMARY KEY | UNIQUE] [CLUSTERED | NONCLUSTERED] |
[[FOREIGN KEY] REFERENCES <ссылочная_таблица> (имя_столбца)]
]
 
 (2)
[CONSTRAINT <имя_ограничения>]
[
[PRIMARY KEY | UNIQUE] [CLUSTERED | NONCLUSTERED] |
[[FOREIGN KEY] REFERENCES <ссылочная_таблица> (имя_столбца)] |
[CHECK [NOT FOR REPLICATION] (<логическое выражение>)]
]
 
 (3)
[CONSTRAINT <имя_ограничения>]
[
[[FOREIGN KEY] REFERENCES <ссылочная_таблица> (имя_столбца)] |
[CHECK [NOT FOR REPLICATION] (<логическое выражение>)]
]
 
Упражнение 5:
Номер 1
CREATE TABLE RelatedTable
(
RelatedID smallint IDENTITY (1,1)
PRIMARY KEY CLUSTERED,
SimpleID smallint
REFERENCES SimpleTable (SimpleID),
RelatedDescription varchar(20)
)
Данный сценарий выполняет действия:
Ответ:
 (1) создает виртуальную таблицу RelatedTable с ограничением внешнего ключа(SimpleID, ссылающимся на SimpleID в таблице SimpleTable) 
 (2) создает таблицу SimpleTable с ограничением первичного ключа(RelatedID) и ограничением внешнего ключа(SimpleID, ссылающимся на SimpleID в таблице RelatedID) 
 (3) создает таблицу RelatedTable с ограничением первичного ключа(RelatedID) и ограничением внешнего ключа(SimpleID, ссылающимся на SimpleID в таблице SimpleTable) 
Номер 2
CREATE TABLE RelatedTable
(
RelatedID smallint IDENTITY (1,1)
PRIMARY KEY CLUSTERED,
SimpleID smallint
REFERENCES SimpleTable (SimpleID),
RelatedDescription varchar(20)
)
Данный сценарий выполняет действия:
Ответ:
 (1) создает виртуальную таблицу RelatedTable с ограничением внешнего ключа(SimpleID, ссылающимся на SimpleID в таблице SimpleTable) 
 (2) создает таблицу RelatedTable с ограничением первичного ключа(RelatedID) и ограничением внешнего ключа(SimpleID, ссылающимся на SimpleID в таблице SimpleTable) 
 (3) создает таблицу SimpleTable с ограничением первичного ключа(RelatedID) и ограничением внешнего ключа(SimpleID, ссылающимся на SimpleID в таблице RelatedID) 
Номер 3
CREATE TABLE RelatedTable
(
RelatedID smallint IDENTITY (1,1)
PRIMARY KEY CLUSTERED,
SimpleID smallint
REFERENCES SimpleTable (SimpleID),
RelatedDescription varchar(20)
)
Данный сценарий выполняет действия:
Ответ:
 (1) создает таблицу RelatedTable с ограничением первичного ключа(RelatedID) и ограничением внешнего ключа(SimpleID, ссылающимся на SimpleID в таблице SimpleTable) 
 (2) создает виртуальную таблицу RelatedTable с ограничением внешнего ключа(SimpleID, ссылающимся на SimpleID в таблице SimpleTable) 
 (3) создает таблицу SimpleTable с ограничением первичного ключа(RelatedID) и ограничением внешнего ключа(SimpleID, ссылающимся на SimpleID в таблице RelatedID) 
Упражнение 6:
Номер 1
CREATE VIEW SimpleView
AS
SELECT Related, SimpleDescription, RelatedDescription
FROM RelatedTable
INNER JOIN SimpleTable
ON RelatedTable.SimpleID = SimpleTable.SimpleID
Данный сценарий выполняет действия:
Ответ:
 (1) создает представление SimpleView на основе оператора SELECT, возвращающим только те строки, для которых условие левого внешнего связывания(RelatedTable.SimpleID = SimpleTable.SimpleID) для таблиц RelatedTable и SimpleTable имеет значение TRUE
 
 (2) создает представление SimpleView на основе оператора SELECT, возвращающим только те строки, для которых условие связывания(RelatedTable.SimpleID = SimpleTable.SimpleID) для таблиц RelatedTable и SimpleTable имеет значение FALSE
 
 (3) создает представление SimpleView на основе оператора SELECT, возвращающим только те строки, для которых условие связывания(RelatedTable.SimpleID = SimpleTable.SimpleID) для таблиц RelatedTable и SimpleTable имеет значение TRUE
 
Номер 2
CREATE VIEW SimpleView
AS
SELECT Related, SimpleDescription, RelatedDescription
FROM RelatedTable
INNER JOIN SimpleTable
ON RelatedTable.SimpleID = SimpleTable.SimpleID
Данный сценарий выполняет действия:
Ответ:
 (1) создает представление SimpleView на основе оператора SELECT, возвращающим только те строки, для которых условие левого внешнего связывания(RelatedTable.SimpleID = SimpleTable.SimpleID) для таблиц RelatedTable и SimpleTable имеет значение TRUE
 
 (2) создает представление SimpleView на основе оператора SELECT, возвращающим только те строки, для которых условие связывания(RelatedTable.SimpleID = SimpleTable.SimpleID) для таблиц RelatedTable и SimpleTable имеет значение TRUE
 
 (3) создает представление SimpleView на основе оператора SELECT, возвращающим только те строки, для которых условие связывания(RelatedTable.SimpleID = SimpleTable.SimpleID) для таблиц RelatedTable и SimpleTable имеет значение FALSE
 
Номер 3
CREATE VIEW SimpleView
AS
SELECT Related, SimpleDescription, RelatedDescription
FROM RelatedTable
INNER JOIN SimpleTable
ON RelatedTable.SimpleID = SimpleTable.SimpleID
Данный сценарий выполняет действия:
Ответ:
 (1) создает представление SimpleView на основе оператора SELECT, возвращающим только те строки, для которых условие связывания(RelatedTable.SimpleID = SimpleTable.SimpleID) для таблиц RelatedTable и SimpleTable имеет значение TRUE
 
 (2) создает представление SimpleView на основе оператора SELECT, возвращающим только те строки, для которых условие связывания(RelatedTable.SimpleID = SimpleTable.SimpleID) для таблиц RelatedTable и SimpleTable имеет значение FALSE
 
 (3) создает представление SimpleView на основе оператора SELECT, возвращающим только те строки, для которых условие левого внешнего связывания(RelatedTable.SimpleID = SimpleTable.SimpleID) для таблиц RelatedTable и SimpleTable имеет значение TRUE
 
Упражнение 7:
Номер 1
Синтаксис оператора ALTER PROCEDURE
имеет вид:
Ответ:
 (1)
ALTER PROC [ EDURE ] procedure_name [ ; number ]
[ { @parameter data_type }
[ VARYING ] [ = default ] [ OUTPUT ]
] [ ,...n ]
[ WITH
{ RECOMPILE | ENCRYPTION
| RECOMPILE , ENCRYPTION
}
]
 
 (2)
ALTER PROC [ EDURE ] procedure_name [ ; number ]
[ { @parameter data_type }
[ VARYING ] [ = default ] [ OUTPUT ]
] [ ,...n ]
AS
sql_statement [ ...n ]
 
 (3)
ALTER PROC [ EDURE ] procedure_name [ ; number ]
[ { @parameter data_type }
[ VARYING ] [ = default ] [ OUTPUT ]
] [ ,...n ]
[ WITH
{ RECOMPILE | ENCRYPTION
| RECOMPILE , ENCRYPTION
}
]
[ FOR REPLICATION ]
AS
sql_statement [ ...n ]
 
Номер 2
Синтаксис оператора ALTER TRIGGER
имеет вид:
Ответ:
 (1)
ALTER TRIGGER trigger_name
ON ( table | view )
[ WITH ENCRYPTION ]
{
{ ( FOR | AFTER | INSTEAD OF ) { [ DELETE ] [ , ] [ INSERT ] [ , ] [ UPDATE ] }
[ NOT FOR REPLICATION ]
AS
sql_statement [ ...n ]
}
}
 
 (2)
ALTER TRIGGER trigger_name
ON ( table | view )
[ WITH ENCRYPTION ]
{
{ ( FOR | AFTER | INSTEAD OF ) { [ DELETE ] [ , ] [ INSERT ] [ , ] [ UPDATE ] }
[ NOT FOR REPLICATION ]
AS
sql_statement [ ...n ]
}
|
{ ( FOR | AFTER | INSTEAD OF ) { [ INSERT ] [ , ] [ UPDATE ] }
[ NOT FOR REPLICATION ]
AS
{ IF UPDATE ( column )
[ { AND | OR } UPDATE ( column ) ]
[ ...n ]
| IF ( COLUMNS_UPDATED ( ) { bitwise_operator } updated_bitmask )
{ comparison_operator } column_bitmask [ ...n ]
}
sql_statement [ ...n ]
}
}
 
 (3)
ALTER TRIGGER trigger_name
{
{ ( FOR | AFTER | INSTEAD OF ) { [ DELETE ] [ , ] [ INSERT ] [ , ] [ UPDATE ] }
[ NOT FOR REPLICATION ]
AS
sql_statement [ ...n ]
}
|
{ ( FOR | AFTER | INSTEAD OF ) { [ INSERT ] [ , ] [ UPDATE ] }
[ NOT FOR REPLICATION ]
AS
{ IF UPDATE ( column )
[ { AND | OR } UPDATE ( column ) ]
[ ...n ]
| IF ( COLUMNS_UPDATED ( ) { bitwise_operator } updated_bitmask )
{ comparison_operator } column_bitmask [ ...n ]
}
sql_statement [ ...n ]
}
}
 
Номер 3
Синтаксис оператора ALTER PROCEDURE
имеет вид:
Ответ:
 (1)
ALTER PROC [ EDURE ] procedure_name [ ; number ]
[ { @parameter data_type }
[ VARYING ] [ = default ] [ OUTPUT ]
] [ ,...n ]
[ WITH
{ RECOMPILE | ENCRYPTION
| RECOMPILE , ENCRYPTION
}
]
[ FOR REPLICATION ]
AS
sql_statement [ ...n ]
 
 (2)
ALTER PROC [ EDURE ] procedure_name [ ; number ]
[ { @parameter data_type }
[ VARYING ] [ = default ] [ OUTPUT ]
] [ ,...n ]
AS
sql_statement [ ...n ]
 
 (3)
ALTER PROC [ EDURE ] procedure_name [ ; number ]
[ { @parameter data_type }
[ VARYING ] [ = default ] [ OUTPUT ]
] [ ,...n ]
[ WITH
{ RECOMPILE | ENCRYPTION
| RECOMPILE , ENCRYPTION
}
]
 
Номер 4
Синтаксис оператора ALTER TRIGGER
имеет вид:
Ответ:
 (1)
ALTER TRIGGER trigger_name
{
{ ( FOR | AFTER | INSTEAD OF ) { [ DELETE ] [ , ] [ INSERT ] [ , ] [ UPDATE ] }
[ NOT FOR REPLICATION ]
AS
sql_statement [ ...n ]
}
|
{ ( FOR | AFTER | INSTEAD OF ) { [ INSERT ] [ , ] [ UPDATE ] }
[ NOT FOR REPLICATION ]
AS
{ IF UPDATE ( column )
[ { AND | OR } UPDATE ( column ) ]
[ ...n ]
| IF ( COLUMNS_UPDATED ( ) { bitwise_operator } updated_bitmask )
{ comparison_operator } column_bitmask [ ...n ]
}
sql_statement [ ...n ]
}
}
 
 (2)
ALTER TRIGGER trigger_name
ON ( table | view )
[ WITH ENCRYPTION ]
{
{ ( FOR | AFTER | INSTEAD OF ) { [ DELETE ] [ , ] [ INSERT ] [ , ] [ UPDATE ] }
[ NOT FOR REPLICATION ]
AS
sql_statement [ ...n ]
}
|
{ ( FOR | AFTER | INSTEAD OF ) { [ INSERT ] [ , ] [ UPDATE ] }
[ NOT FOR REPLICATION ]
AS
{ IF UPDATE ( column )
[ { AND | OR } UPDATE ( column ) ]
[ ...n ]
| IF ( COLUMNS_UPDATED ( ) { bitwise_operator } updated_bitmask )
{ comparison_operator } column_bitmask [ ...n ]
}
sql_statement [ ...n ]
}
}
 
 (3)
ALTER TRIGGER trigger_name
ON ( table | view )
[ WITH ENCRYPTION ]
{
{ ( FOR | AFTER | INSTEAD OF ) { [ DELETE ] [ , ] [ INSERT ] [ , ] [ UPDATE ] }
[ NOT FOR REPLICATION ]
AS
sql_statement [ ...n ]
}
}
 
Упражнение 8:
Номер 1
Для оператора ALTER COLUMN
существуют ограничения. Стобец не может быть изменен, если он:
Ответ:
 (1) имеет тип данных bigint, cursor
или любой строковый тип 
 (2) используется в ограничении UNIQUE
 
 (3) имеет тип данных text, image, ntext или timestamp
 
 (4) может иметь NULL
-значения 
 (5) используется в ограничении FOREIGN KEY REFERENCES
 
Номер 2
Для оператора ALTER COLUMN
существуют ограничения. Стобец не может быть изменен, если он:
Ответ:
 (1) используется в ограничении UNIQUE
 
 (2) определен в таблице как ROWGIDCOL
 
 (3) является вычисляемым столбцом или используется в вычисляемом столбце 
 (4) может иметь NULL
-значения 
 (5) указывается как DEFAULT
 
Номер 3
Для оператора ALTER COLUMN
существуют ограничения. Стобец не может быть изменен, если он:
Ответ:
 (1) имеет тип данных text, image, ntext или timestamp
 
 (2) используется в ограничении UNIQUE
 
 (3) используется в ограничении CHECK
 
 (4) может иметь NULL
-значения 
 (5) имеет тип данных money или table