Главная / Базы данных /
SQL Server 2000 / Тест 22
SQL Server 2000 - тест 22
Упражнение 1:
Номер 1
Триггер определяет:
Ответ:
 (1) специальный тип хранимой процедуры, которая запускается автоматически системой SQL Server при модифицировании какой-либо таблицы одним из двух операторов: CREATE TABLE
и ALTER TABLE
 
 (2) системную хранимую процедуру, проверяющую корректность ввода данных при вызове операторов: UPDATE, INSERT
или DELETE
 
 (3) специальный тип хранимой процедуры, которая запускается автоматически системой SQL Server при модифицировании какой-либо таблицы одним из трех операторов: UPDATE, INSERT
или DELETE
 
Номер 2
Триггер запускается автоматически при модифицировании таблицы операторами:
Ответ:
 (1) DROP TABLE
 
 (2) INSERT
 
 (3) CREATE TABLE
 
 (4) UPDATE
 
 (5) DELETE
 
 (6) ALTER TABLE
 
Номер 3
Существуют типы триггеров:
Ответ:
 (1) INSTEAD OF
 
 (2) DROP
 
 (3) ALTER
 
 (4) AFTER
 
 (5) BEFORE
 
 (6) DELETE
 
Упражнение 2:
Номер 1
Триггер характеризуются тем, что:
Ответ:
 (1) запускаются только после завершения оператора, который вызвал их активизацию 
 (2) запускается перед выполнением оператора, в котором будет вызываться триггер 
 (3) рассматривается как часть одной транзакции вместе с оператором, который вызывает его 
 (4) рассматривается как отдельная транзакция с соответствующей записью в журнал транзакций 
 (5) триггер будет выполнен, даже если он нарушает какое-либо ограничение по таблице 
Номер 2
Триггер характеризуются тем, что:
Ответ:
 (1) если какой-либо оператор пытается выполнить операцию, которая нарушает какое-либо ограничение по таблице или является причиной какой-то другой ошибки, то связанный с ним триггер не будет активизирован 
 (2) триггер активизируется только один раз для одного оператора, даже если этот оператор влияет на несколько строк данных 
 (3) запускается перед выполнением оператора, в котором будет вызываться триггер 
 (4) триггер активизируется каждый раз для изменения определенной строки данных 
 (5) рассматривается как отдельная транзакция с соответствующей записью в журнал транзакций 
Номер 3
Триггер характеризуются тем, что:
Ответ:
 (1) запускается перед выполнением оператора, в котором будет вызываться триггер 
 (2) запускаются только после завершения оператора, который вызвал их активизацию 
 (3) триггер будет выполнен, даже если он нарушает какое-либо ограничение по таблице 
 (4) если какой-либо оператор пытается выполнить операцию, которая нарушает какое-либо ограничение по таблице или является причиной какой-то другой ошибки, то связанный с ним триггер не будет активизирован 
 (5) рассматривается как отдельная транзакция с соответствующей записью в журнал транзакций 
Упражнение 3:
Номер 1
Оператор CREATE TRIGGER
имеет синтаксис:
Ответ:
 (1)
CREATE TRIGGER имя_триггера
ON {таблица | представление}
[WITH ENCRYPTION]
[FOR [DELETE] [,] [INSERT] [,] [UPDATE]]
[AS]
оператор_sql [...n]
 
 (2)
CREATE TRIGGER имя_триггера
[ON {таблица | представление}]
[WITH ENCRYPTION]
[FOR | AFTER | INSTEAD OF}
{[DELETE] [,] [INSERT] [,] [UPDATE]]
AS
оператор_sql [...n]
 
 (3)
CREATE TRIGGER имя_триггера
ON {таблица | представление}
[WITH ENCRYPTION]
{FOR | AFTER | INSTEAD OF}
{[DELETE] [,] [INSERT] [,] [UPDATE]}
[WITH APPEND]
[NOT FOR REPLICATION]
AS
оператор_sql [...n]
 
Номер 2
В определении триггера не допускаются операторы:
Ответ:
 (1) DISK INIT
 
 (2) LOAD LOG
 
 (3) DROP TABLE
 
 (4) DROP DATABASE
 
 (5) SELECT..FROM
 
Номер 3
При создании триггера вы имеете доступ к временным таблицам:
Ответ:
 (1) deleted
 
 (2) master
 
 (3) updated
 
 (4) inserted
 
 (5) tempdb
 
Упражнение 4:
Номер 1
Правильно записанный сценарий с использованием триггера имеет вид:
Ответ:
 (1)
CREATE TABLE APPDATA (
CUST_ID INT NOT NULL,
ACTION VARCHAR(10),
USER_UP VARCHAR(25),
DATETIME_UP TIMESTAMP,
CONSTRAINT PK_AD PRIMARY KEY(CUST_ID) )
CREATE TABLE APPDATA1 (
CUST_ID INT NOT NULL,
ACTION VARCHAR(10),
USER_UP VARCHAR(25),
DATETIME_UP TIMESTAMP,
CONSTRAINT PK_AD PRIMARY KEY(CUST_ID) )
CREATE TRIGGER TRACK_CUSTOMER_UPDATES
ON APPDATA
FOR UPDATE
AS
SELECT CUST_ID, 'UPDATE', CURRENT_USER, CURRENT_TIMESTAMP
 
 (2)
CREATE TABLE APPDATA (
CUST_ID INT NOT NULL,
ACTION VARCHAR(10),
USER_UP VARCHAR(25),
DATETIME_UP TIMESTAMP,
CONSTRAINT PK_AD PRIMARY KEY(CUST_ID) )
CREATE TRIGGER TRACK_CUSTOMER_UPDATES
ON APPDATA
FOR UPDATE
AS
INSERT INTO APPDATA
(
CUST_ID, ACTION, USER_UP, DATETIME_UP
)
SELECT CUST_ID, 'UPDATE', CURRENT_USER, CURRENT_TIMESTAMP
FROM INSERTED
 
 (3)
CREATE TABLE APPDATA (
CUST_ID INT NOT NULL,
ACTION VARCHAR(10),
USER_UP VARCHAR(25),
DATETIME_UP TIMESTAMP,
CONSTRAINT PK_AD PRIMARY KEY(CUST_ID) )
CREATE TABLE APPDATA1 (
CUST_ID INT NOT NULL,
ACTION VARCHAR(10),
USER_UP VARCHAR(25),
DATETIME_UP TIMESTAMP,
CONSTRAINT PK_AD PRIMARY KEY(CUST_ID) )
CREATE TRIGGER TRACK_CUSTOMER_UPDATES
ON APPDATA
FOR UPDATE
AS
INSERT INTO APPDATA1
(
CUST_ID, ACTION, USER_UP, DATETIME_UP
)
SELECT CUST_ID, 'UPDATE', CURRENT_USER, CURRENT_TIMESTAMP
FROM INSERTED
 
Номер 2
Правильно записанный сценарий с использованием триггера имеет вид:
Ответ:
 (1)
CREATE TABLE APPDATA (
CUST_ID INT NOT NULL,
ACTION VARCHAR(10),
USER_UP VARCHAR(25),
DATETIME_UP TIMESTAMP,
CONSTRAINT PK_AD PRIMARY KEY(CUST_ID) )
CREATE TABLE APPDATA1 (
CUST_ID INT NOT NULL,
ACTION VARCHAR(10),
USER_UP VARCHAR(25),
DATETIME_UP TIMESTAMP,
CONSTRAINT PK_AD PRIMARY KEY(CUST_ID) )
CREATE TRIGGER TRACK_CUSTOMER_UPDATES
ON APPDATA
FOR UPDATE
AS
SELECT CUST_ID, 'UPDATE', CURRENT_USER, CURRENT_TIMESTAMP
 
 (2)
CREATE TABLE APPDATA (
CUST_ID INT NOT NULL,
ACTION VARCHAR(10),
USER_UP VARCHAR(25),
DATETIME_UP TIMESTAMP,
CONSTRAINT PK_AD PRIMARY KEY(CUST_ID) )
CREATE TABLE APPDATA1 (
CUST_ID INT NOT NULL,
ACTION VARCHAR(10),
USER_UP VARCHAR(25),
DATETIME_UP TIMESTAMP,
CONSTRAINT PK_AD PRIMARY KEY(CUST_ID) )
CREATE TRIGGER TRACK_CUSTOMER_UPDATES
ON APPDATA
FOR UPDATE
AS
INSERT INTO APPDATA1
(
CUST_ID, ACTION, USER_UP, DATETIME_UP
)
SELECT CUST_ID, 'UPDATE', CURRENT_USER, CURRENT_TIMESTAMP
FROM INSERTED
 
 (3)
CREATE TABLE APPDATA (
CUST_ID INT NOT NULL,
ACTION VARCHAR(10),
USER_UP VARCHAR(25),
DATETIME_UP TIMESTAMP,
CONSTRAINT PK_AD PRIMARY KEY(CUST_ID) )
CREATE TRIGGER TRACK_CUSTOMER_UPDATES
ON APPDATA
FOR UPDATE
AS
INSERT INTO APPDATA
(
CUST_ID, ACTION, USER_UP, DATETIME_UP
)
SELECT CUST_ID, 'UPDATE', CURRENT_USER, CURRENT_TIMESTAMP
FROM INSERTED
 
Номер 3
Правильно записанный сценарий с использованием триггера имеет вид:
Ответ:
 (1)
CREATE TABLE APPDATA (
CUST_ID INT NOT NULL,
ACTION VARCHAR(10),
USER_UP VARCHAR(25),
DATETIME_UP TIMESTAMP,
CONSTRAINT PK_AD PRIMARY KEY(CUST_ID) )
CREATE TABLE APPDATA1 (
CUST_ID INT NOT NULL,
ACTION VARCHAR(10),
USER_UP VARCHAR(25),
DATETIME_UP TIMESTAMP,
CONSTRAINT PK_AD PRIMARY KEY(CUST_ID) )
CREATE TRIGGER TRACK_CUSTOMER_UPDATES
ON APPDATA
FOR UPDATE
AS
INSERT INTO APPDATA1
(
CUST_ID, ACTION, USER_UP, DATETIME_UP
)
SELECT CUST_ID, 'UPDATE', CURRENT_USER, CURRENT_TIMESTAMP
FROM INSERTED
 
 (2)
CREATE TABLE APPDATA (
CUST_ID INT NOT NULL,
ACTION VARCHAR(10),
USER_UP VARCHAR(25),
DATETIME_UP TIMESTAMP,
CONSTRAINT PK_AD PRIMARY KEY(CUST_ID) )
CREATE TABLE APPDATA1 (
CUST_ID INT NOT NULL,
ACTION VARCHAR(10),
USER_UP VARCHAR(25),
DATETIME_UP TIMESTAMP,
CONSTRAINT PK_AD PRIMARY KEY(CUST_ID) )
CREATE TRIGGER TRACK_CUSTOMER_UPDATES
ON APPDATA
FOR UPDATE
AS
SELECT CUST_ID, 'UPDATE', CURRENT_USER, CURRENT_TIMESTAMP
 
 (3)
CREATE TABLE APPDATA (
CUST_ID INT NOT NULL,
ACTION VARCHAR(10),
USER_UP VARCHAR(25),
DATETIME_UP TIMESTAMP,
CONSTRAINT PK_AD PRIMARY KEY(CUST_ID) )
CREATE TRIGGER TRACK_CUSTOMER_UPDATES
ON APPDATA
FOR UPDATE
AS
INSERT INTO APPDATA
(
CUST_ID, ACTION, USER_UP, DATETIME_UP
)
SELECT CUST_ID, 'UPDATE', CURRENT_USER, CURRENT_TIMESTAMP
FROM INSERTED
 
Упражнение 5:
Номер 1
Триггер INSTEAD OF
в первую очередь используется:
Ответ:
 (1) переопределении объединенного представления 
 (2) для активизации после завершения указанного события модификации данных 
 (3) при модификации объединенного представления 
Номер 2
Триггер AFTER
используется:
Ответ:
 (1) при модификации объединенного представления 
 (2) для активизации после завершения указанного события модификации данных 
 (3) для переопределении объединенного представления 
Номер 3
Вложенные триггеры характеризуются тем, что:
Ответ:
 (1) они активизируются другими триггерами 
 (2) определяются другими триггерами 
 (3) изменяют другие триггеры 
Упражнение 6:
Номер 1
Процедура sp_helptext
используется для:
Ответ:
 (1) просмотра триггеров, существующих по определенной таблице 
 (2) изменения параметров триггера 
 (3) вывода на экран текста, который использовался для создания этого триггера 
Номер 2
Процедура sp_helptrigger
используется для:
Ответ:
 (1) вывода на экран текста, который использовался для создания этого триггера 
 (2) просмотра триггеров, существующих по определенной таблице  
 (3) изменения параметров триггера 
Номер 3
Информацию о триггерах можно получить с помощью хранимых процедур:
Ответ:
 (1) sp_helptext
 
 (2) sp_help
 
 (3) sp_description
 
 (4) sp_helptrigger