игра брюс 2048
Главная / Базы данных / SQL и процедурно-ориентированные языки / Тест 14

SQL и процедурно-ориентированные языки - тест 14

Упражнение 1:
Номер 1
Какой из следующих операторов выполняет  объявление явного курсора:

Ответ:

 (1) CURSOR 

 (2) OPEN 

 (3) FETCH 

 (4) CLOSE 


Номер 2
Какой оператор открывает курсор, создавая новый результирующий набор на базе указанного запроса:

Ответ:

 (1) CURSOR 

 (2) OPEN 

 (3) FETCH 

 (4) CLOSE 


Номер 3
Какой оператор выполняет извлечение строки из результирующего набора:

Ответ:

 (1) CURSOR 

 (2) OPEN 

 (3) FETCH 

 (4) CLOSE 


Упражнение 2:
Номер 1
Какие атрибуты курсора позволяют определить, была ли найдена строка, удовлетворяющая условию:

Ответ:

 (1) %ISOPEN 

 (2) %FOUND 

 (3) %NOTFOUND 

 (4) %ROWCOUNT 


Номер 2
Укажите, какой из фрагментов кода, использующих курсор, имеет правильный синтаксис:

Ответ:

 (1) DECLARE CURSOR c1 IS SELECT f1, f2 FROM tbl2 WHERE f1 = 10; BEGIN FOR rec1 IN c1 LOOP INSERT INTO temp_tbl VALUES (rec1.f2); END LOOP; COMMIT; END; 

 (2) DECLARE CURSOR c1 IS SELECT f1, f2 FROM tbl2 WHERE f1 = 10; BEGIN FOR c1 IN rec1 LOOP INSERT INTO temp_tbl VALUES (rec1.f2); END LOOP; COMMIT; END; 


Номер 3
Какой атрибут курсора возвращает номер текущей строки:

Ответ:

 (1) %NOTFOUND 

 (2) %FOUND 

 (3) %ROWCOUNT 


Упражнение 3:
Номер 1
Какие ограничения накладываются на использование переменной курсора:

Ответ:

 (1) запрос, указываемый для переменной курсора оператором OPEN-FOR, не может содержать фразы FOR UPDATE 

 (2) переменной курсора не может быть присвоено значение NULL 

 (3) для переменной курсора нельзя повторно выполнять оператор OPEN, не закрыв предварительно результирующий набор оператором CLOSE 

 (4) переменную курсора нельзя использовать вместо курсора в цикле FOR-IN-LOOP 


Номер 2
Какой атрибут курсора позволяет определить, открыт ли курсор:

Ответ:

 (1) %FOUND 

 (2) %ROWCOUNT 

 (3) %ISOPEN 


Номер 3
Какие действия выполнит СУБД Oracle при попытке повторно открыть курсор, определенный как
CURSOR c1 IS SELECT * FROM tbl1; который ранее уже был открыт оператором OPEN:

Ответ:

 (1) никаких действий выполнено не будет 

 (2) курсор будет открыт заново 

 (3) будет инициировано исключение CURSOR_ALREADY_OPEN 


Упражнение 4:
Номер 1
Какой из следующих операторов открывает результирующий набор для явного курсора:

Ответ:

 (1) CURSOR 

 (2) OPEN 

 (3) FETCH 

 (4) CLOSE 


Номер 2
Какой атрибут курсора позволяет определить количество строк в результирующем наборе:

Ответ:

 (1) %ISOPEN 

 (2) %FOUND 

 (3) %NOTFOUND 

 (4) %ROWCOUNT 


Номер 3
Какие ограничения накладываются на использование переменной курсора:

Ответ:

 (1) запрос, указываемый для переменной курсора оператором OPEN-FOR, не может содержать фразы FOR UPDATE 

 (2) переменную курсора нельзя указывать в операторе FETCH 

 (3) для переменной курсора нельзя повторно выполнять оператор OPEN, не закрыв предварительно результирующий набор оператором CLOSE 


Упражнение 5:
Номер 1
Укажите, какой из фрагментов кода, использующих курсор, имеет правильный синтаксис:

Ответ:

 (1) DECLARE CURSOR c1 IS SELECT f1 FROM tbl1 ; BEGIN FOR rec1 IN c1 LOOP INSERT INTO tbl2 VALUES (rec1.f1); END LOOP; COMMIT; END; 

 (2) DECLARE CURSOR c1 IS SELECT * FROM tbl2; BEGIN FOR c1 IN rec1 LOOP INSERT INTO tbl2 VALUES (rec1.f2); END LOOP; END; 


Номер 2
Если при неявном курсоре формируемый результирующий набор должен содержать более одной строки, то:

Ответ:

 (1) результирующий набор будет создан 

 (2) будет инициировано исключение TOO_MANY_ROWS 

 (3) никаких действий выполнено не будет 


Номер 3
Какие действия выполнит СУБД Oracle при попытке повторно открыть курсор, указываемый переменной курсора:

Ответ:

 (1) никаких действий выполнено не будет 

 (2) курсор будет открыт заново 

 (3) будет инициировано исключение CURSOR_ALREADY_OPEN 




Главная / Базы данных / SQL и процедурно-ориентированные языки / Тест 14