Главная / Базы данных /
Программирование в Microsoft SQL Server 2000 / Тест 28
Программирование в Microsoft SQL Server 2000 - тест 28
Упражнение 1:
Номер 1
Хранимые процедуры обладают преимуществами:
Ответ:
 (1) способность работать с переменными обладают только хранимые процедуры 
 (2) хранимые процедуры являются объектами базы данных; они размещаются в файле базы данных и перемещаются вместе с файлом в случае отключения или репликации базы данных 
 (3) хранимые процедуры позволяют вам передавать данные процедуре для их обработки и принимать обратно от процедуры как данные, так и сформированный процедурой итоговый код 
 (4) хранимые процедуры работают напрямую с файлами базы данных 
 (5) хранимые процедуры представляются в оптимизированной форме, что дает возможность ускорить их выполнение 
Номер 2
Хранимые процедуры обладают преимуществами:
Ответ:
 (1) хранимые процедуры являются объектами базы данных; они размещаются в файле базы данных и перемещаются вместе с файлом в случае отключения или репликации базы данных 
 (2) хранимые процедуры позволяют вам передавать данные процедуре для их обработки и принимать обратно от процедуры как данные, так и сформированный процедурой итоговый код 
 (3) хранимые процедуры работают напрямую с файлами базы данных 
 (4) способность работать с переменными обладают только хранимые процедуры 
 (5) хранимые процедуры представляются в оптимизированной форме, что дает возможность ускорить их выполнение 
Номер 3
Хранимые процедуры обладают преимуществами:
Ответ:
 (1) хранимые процедуры являются объектами базы данных; они размещаются в файле базы данных и перемещаются вместе с файлом в случае отключения или репликации базы данных 
 (2) хранимые процедуры работают напрямую с файлами базы данных 
 (3) способность работать с переменными обладают только хранимые процедуры 
 (4) хранимые процедуры представляются в оптимизированной форме, что дает возможность ускорить их выполнение 
 (5) хранимые процедуры позволяют вам передавать данные процедуре для их обработки и принимать обратно от процедуры как данные, так и сформированный процедурой итоговый код 
Упражнение 2:
Номер 1
Системные хранимые процедуры характеризуются тем, что:
Ответ:
 (1) они представляют собой объект, являющийся частью базы данных, в которой он создан, и будет перемещаться вместе с ней 
 (2) хранятся в базе данных tempdb и заново создаются при открытии базы данных 
 (3) хранятся в главной базе данных. Все они начинаются с символов sp_ 
Номер 2
Пользовательские хранимые процедуры характеризуются тем, что:
Ответ:
 (1) хранятся в главной базе данных. Все они начинаются с символов up_ 
 (2) они представляют собой объект, являющийся частью базы данных, в которой он создан, и будет перемещаться вместе с ней 
 (3) хранятся в базе данных tempdb и заново создаются при открытии базы данных 
Номер 3
Хранимые процедуры в SQL Server 2000 делятся на группы:
Ответ:
 (1) пользовательские хранимые процедуры 
 (2) быстрые хранимые процедуры 
 (3) системные хранимые процедуры 
 (4) хранимые процедуры доступа 
 (5) дискретные хранимые процедуры 
Упражнение 3:
Номер 1
Синтаксис оператора EXECUTE
имеет вид:
Ответ:
 (1)
[ [ EXEC [ UTE ] ]
[ [ @parameter = ] { value | @variable [ OUTPUT ] | [ DEFAULT ] ]
[ ,...n ]
{ WITH RECOMPILE }
 
 (2)
[ [ EXEC [ UTE ] ]
[
[ @return_status = ]
{ procedure_name [ ;number ] | @procedure_name_var
]
 
 (3)
[ [ EXEC [ UTE ] ]
{
[ @return_status = ]
{ procedure_name [ ;number ] | @procedure_name_var
}
[ [ @parameter = ] { value | @variable [ OUTPUT ] | [ DEFAULT ] ]
[ ,...n ]
[ WITH RECOMPILE ]
 
Номер 2
Синтаксис оператора EXECUTE
имеет вид:
Ответ:
 (1)
[ [ EXEC [ UTE ] ]
{
[ @return_status = ]
{ procedure_name [ ;number ] | @procedure_name_var
}
[ WITH RECOMPILE ]
[ ,..n ]
 
 (2)
[ [ EXEC [ UTE ] ]
{
[ @return_status = ]
{ procedure_name [ ;number ] | @procedure_name_var
}
[ [ @parameter = ] { value | @variable [ OUTPUT ] | [ DEFAULT ] ]
[ ,...n ]
[ WITH RECOMPILE ]
 
 (3)
[ EXECUTE ]
{
[ @return_status = ]
{ procedure_name [ ;number ] | @procedure_name_var
}
[ [ @parameter = ] { value | @variable [ OUTPUT ] | [ DEFAULT ] ]
[ ,...n ]
 
Номер 3
Синтаксис оператора EXECUTE
имеет вид:
Ответ:
 (1)
[ [ EXEC [ UTE ] ]
{
[ @return_status = ]
{ procedure_name [ ;number ] | @procedure_name_var
}
[ [ @parameter = ] { value | @variable [ OUTPUT ] | [ DEFAULT ] ]
[ ,...n ]
[ WITH RECOMPILE ]
 
 (2)
[ [ EXEC [ UTE ] ]
[ [ @parameter = ] { value | @variable [ OUTPUT ] | [ DEFAULT ] ]
[ ,...n ]
{ WITH RECOMPILE }
 
 (3)
[ EXECUTE ]
{
[ @return_status = ]
{ procedure_name [ ;number ] | @procedure_name_var
}
[ [ @parameter = ] { value | @variable [ OUTPUT ] | [ DEFAULT ] ]
[ ,...n ]
 
Упражнение 4:
Номер 1
Синтаксис оператора CREATE PROCEDURE
имеет вид:
Ответ:
 (1)
CREATE PROC [ EDURE ] procedure_name [ ; number ]
[ { @parameter data_type }
[ VARYING ] [ = default ] [ OUTPUT ]
] [ ,...n ]
[ WITH
{ RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ]
{ FOR REPLICATION }
 
 (2)
CREATE PROC [ EDURE ] procedure_name [ ; number ]
[ { @parameter data_type }
[ VARYING ] [ = default ] [ OUTPUT ]
] [ ,...n ]
{ WITH
{ RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } }
{ FOR REPLICATION }
[ AS sql_statement [ ...n ] ]
 
 (3)
CREATE PROC [ EDURE ] procedure_name [ ; number ]
[ { @parameter data_type }
[ VARYING ] [ = default ] [ OUTPUT ]
] [ ,...n ]
[ WITH
{ RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ]
[ FOR REPLICATION ]
AS sql_statement [ ...n ]
 
Номер 2
Синтаксис оператора CREATE PROCEDURE
имеет вид:
Ответ:
 (1)
CREATE PROC [ EDURE ] procedure_name [ ; number ]
[ { @parameter data_type }
[ VARYING ] [ = default ] [ OUTPUT ]
] [ ,...n ]
{ WITH
{ RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } }
{ FOR REPLICATION }
[ AS sql_statement [ ...n ] ]
 
 (2)
CREATE PROC [ EDURE ] procedure_name [ ; number ]
[ { @parameter data_type }
[ VARYING ] [ = default ] [ OUTPUT ]
] [ ,...n ]
[ WITH
{ RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ]
[ FOR REPLICATION ]
AS sql_statement [ ...n ]
 
 (3)
CREATE PROC [ EDURE ] procedure_name [ ; number ]
[ { @parameter data_type }
[ VARYING ] [ = default ] [ OUTPUT ]
] [ ,...n ]
[ WITH
{ RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ]
{ FOR REPLICATION }
 
Номер 3
Синтаксис оператора CREATE PROCEDURE
имеет вид:
Ответ:
 (1)
CREATE PROC [ EDURE ] procedure_name [ ; number ]
[ { @parameter data_type }
[ VARYING ] [ = default ] [ OUTPUT ]
] [ ,...n ]
[ WITH
{ RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ]
[ FOR REPLICATION ]
AS sql_statement [ ...n ]
 
 (2)
CREATE PROC [ EDURE ] procedure_name [ ; number ]
[ { @parameter data_type }
[ VARYING ] [ = default ] [ OUTPUT ]
] [ ,...n ]
[ WITH
{ RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ]
{ FOR REPLICATION }
 
 (3)
CREATE PROC [ EDURE ] procedure_name [ ; number ]
[ { @parameter data_type }
[ VARYING ] [ = default ] [ OUTPUT ]
] [ ,...n ]
{ WITH
{ RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } }
{ FOR REPLICATION }
[ AS sql_statement [ ...n ] ]
 
Упражнение 5:
Номер 1
CREATE PROCEDURE InputSP
@OilName char(50)
AS
SELECT OilName, LatinName FROM Oils
WHERE OilName = @OilName
Данный сценарий выполняет действия:
Ответ:
 (1) определяет хранимую процедуру InputSP, определяет входной параметр @OilName типа char
. Результатом выполнения хранимой процедуры будет запрос со столбцами OilName и LatinName, где входной параметр @OilName = OilName из таблицы Oils 
 (2) создает хранимую процедуру InputSP, определяет входной параметр @OilName. Результатом выполнения хранимой процедуры будет выборка строк со столбцом OilName, где входной параметр @OilName отличен от OilName из таблицы Oils 
 (3) создает хранимую процедуру InputSP, определяет входной параметр @OilName типа char
. Результатом выполнения хранимой процедуры будет выборка строк со столбцами OilName и LatinName, где входной параметр @OilName = OilName из таблицы Oils 
Номер 2
CREATE PROCEDURE InputSP
@OilName char(50)
AS
SELECT OilName, LatinName FROM Oils
WHERE OilName = @OilName
Данный сценарий выполняет действия:
Ответ:
 (1) определяет хранимую процедуру InputSP, определяет входной параметр @OilName типа char
. Результатом выполнения хранимой процедуры будет запрос со столбцами OilName и LatinName, где входной параметр @OilName = OilName из таблицы Oils 
 (2) создает хранимую процедуру InputSP, определяет входной параметр @OilName типа char
. Результатом выполнения хранимой процедуры будет выборка строк со столбцами OilName и LatinName, где входной параметр @OilName = OilName из таблицы Oils 
 (3) создает хранимую процедуру InputSP, определяет входной параметр @OilName. Результатом выполнения хранимой процедуры будет выборка строк со столбцом OilName, где входной параметр @OilName отличен от OilName из таблицы Oils 
Номер 3
CREATE PROCEDURE InputSP
@OilName char(50)
AS
SELECT OilName, LatinName FROM Oils
WHERE OilName = @OilName
Данный сценарий выполняет действия:
Ответ:
 (1) создает хранимую процедуру InputSP, определяет входной параметр @OilName типа char
. Результатом выполнения хранимой процедуры будет выборка строк со столбцами OilName и LatinName, где входной параметр @OilName = OilName из таблицы Oils 
 (2) определяет хранимую процедуру InputSP, определяет входной параметр @OilName типа char
. Результатом выполнения хранимой процедуры будет запрос со столбцами OilName и LatinName, где входной параметр @OilName = OilName из таблицы Oils 
 (3) создает хранимую процедуру InputSP, определяет входной параметр @OilName. Результатом выполнения хранимой процедуры будет выборка строк со столбцом OilName, где входной параметр @OilName отличен от OilName из таблицы Oils 
Упражнение 6:
Номер 1
CREATE PROCEDURE DefaultSP
@OilName char(50) = 'Fennel'
AS
SELECT OilName, LatinName FROM Oils
WHERE OilName = @OilName
Данный сценарий выполняет действия:
Ответ:
 (1) создает хранимую процедуру DefaultSP, определяет входной параметр @OilName типа char
БЕЗ строки по умолчанию. Результатом выполнения хранимой процедуры будет выборка строк со столбцами OilName и LatinName, где @OilName = 'Fennel', другого варианта невозможно 
 (2) создает хранимую процедуру DefaultSP, определяет входной параметр @OilName типа char
, по умолчанию равный 'Fennel'. Результатом выполнения хранимой процедуры будет строка 'Fennel' 
 (3) создает хранимую процедуру DefaultSP, определяет входной параметр @OilName типа char
, по умолчанию равный 'Fennel'. Результатом выполнения хранимой процедуры будет выборка строк со столбцами OilName и LatinName, где входной параметр @OilName = OilName из таблицы Oils, если же входной параметр не указан, то он автоматически становится равным 'Fennel' 
Номер 2
CREATE PROCEDURE DefaultSP
@OilName char(50) = 'Fennel'
AS
SELECT OilName, LatinName FROM Oils
WHERE OilName = @OilName
Данный сценарий выполняет действия:
Ответ:
 (1) создает хранимую процедуру DefaultSP, определяет входной параметр @OilName типа char
, по умолчанию равный 'Fennel'. Результатом выполнения хранимой процедуры будет строка 'Fennel' 
 (2) создает хранимую процедуру DefaultSP, определяет входной параметр @OilName типа char
, по умолчанию равный 'Fennel'. Результатом выполнения хранимой процедуры будет выборка строк со столбцами OilName и LatinName, где входной параметр @OilName = OilName из таблицы Oils, если же входной параметр не указан, то он автоматически становится равным 'Fennel' 
 (3) создает хранимую процедуру DefaultSP, определяет входной параметр @OilName типа char
БЕЗ строки по умолчанию. Результатом выполнения хранимой процедуры будет выборка строк со столбцами OilName и LatinName, где @OilName = 'Fennel', другого варианта невозможно 
Номер 3
CREATE PROCEDURE DefaultSP
@OilName char(50) = 'Fennel'
AS
SELECT OilName, LatinName FROM Oils
WHERE OilName = @OilName
Данный сценарий выполняет действия:
Ответ:
 (1) создает хранимую процедуру DefaultSP, определяет входной параметр @OilName типа char
, по умолчанию равный 'Fennel'. Результатом выполнения хранимой процедуры будет выборка строк со столбцами OilName и LatinName, где входной параметр @OilName = OilName из таблицы Oils, если же входной параметр не указан, то он автоматически становится равным 'Fennel' 
 (2) создает хранимую процедуру DefaultSP, определяет входной параметр @OilName типа char
БЕЗ строки по умолчанию. Результатом выполнения хранимой процедуры будет выборка строк со столбцами OilName и LatinName, где @OilName = 'Fennel', другого варианта невозможно 
 (3) создает хранимую процедуру DefaultSP, определяет входной параметр @OilName типа char
, по умолчанию равный 'Fennel'. Результатом выполнения хранимой процедуры будет строка 'Fennel' 
Упражнение 7:
Номер 1
CREATE PROCEDURE GetCustDiscount
@CustId INT,
@Discount DEC( 5, 3 ) OUTPUT
AS
SET @Discount =
( SELECT Discount
FROM Customer
WHERE CustId = @CustId
Данный сценарий выполняет действия:
Ответ:
 (1) создает хранимую процедуру GetCustDiscount, объявляется выходной параметр @CustId и входной параметр @Discount. Когда процедура завершает свою работу, вызывающей процедуре или предложению возвращаются набор строк с указанными параметрами 
 (2) создает хранимую процедуру GetCustDiscount, объявляется выходной параметр @CustId и входной параметр @Discount. Когда процедура завершает свою работу, вызывающей процедуре или предложению возвращаются последние значения, присвоенные ее выходным параметрам 
 (3) создает хранимую процедуру GetCustDiscount, объявляется входной параметр @CustId и выходной параметр @Discount. Когда процедура завершает свою работу, вызывающей процедуре или предложению возвращаются последние значения, присвоенные ее выходным параметрам 
Номер 2
CREATE PROCEDURE GetCustDiscount
@CustId INT,
@Discount DEC( 5, 3 ) OUTPUT
AS
SET @Discount =
( SELECT Discount
FROM Customer
WHERE CustId = @CustId
Данный сценарий выполняет действия:
Ответ:
 (1) создает хранимую процедуру GetCustDiscount, объявляется выходной параметр @CustId и входной параметр @Discount. Когда процедура завершает свою работу, вызывающей процедуре или предложению возвращаются последние значения, присвоенные ее выходным параметрам 
 (2) создает хранимую процедуру GetCustDiscount, объявляется входной параметр @CustId и выходной параметр @Discount. Когда процедура завершает свою работу, вызывающей процедуре или предложению возвращаются последние значения, присвоенные ее выходным параметрам 
 (3) создает хранимую процедуру GetCustDiscount, объявляется выходной параметр @CustId и входной параметр @Discount. Когда процедура завершает свою работу, вызывающей процедуре или предложению возвращаются набор строк с указанными параметрами 
Номер 3
CREATE PROCEDURE GetCustDiscount
@CustId INT,
@Discount DEC( 5, 3 ) OUTPUT
AS
SET @Discount =
( SELECT Discount
FROM Customer
WHERE CustId = @CustId
Данный сценарий выполняет действия:
Ответ:
 (1) создает хранимую процедуру GetCustDiscount, объявляется входной параметр @CustId и выходной параметр @Discount. Когда процедура завершает свою работу, вызывающей процедуре или предложению возвращаются последние значения, присвоенные ее выходным параметрам 
 (2) создает хранимую процедуру GetCustDiscount, объявляется выходной параметр @CustId и входной параметр @Discount. Когда процедура завершает свою работу, вызывающей процедуре или предложению возвращаются набор строк с указанными параметрами 
 (3) создает хранимую процедуру GetCustDiscount, объявляется выходной параметр @CustId и входной параметр @Discount. Когда процедура завершает свою работу, вызывающей процедуре или предложению возвращаются последние значения, присвоенные ее выходным параметрам