Главная / Базы данных /
SQL и процедурно-ориентированные языки / Тест 10
SQL и процедурно-ориентированные языки - тест 10
Упражнение 1:
Номер 1
Какой SQL-оператор используется при одношаговом интерфейсе для выполнения оператора, описанного строковой переменной:
Ответ:
 (1) EXECUTE IMMEDIATE
 
 (2) PREPARE
 
 (3) EXECUTE
 
Номер 2
Какой SQL-оператор используется при многошаговом интерфейсе для компиляции оператора, описанного строковой переменной:
Ответ:
 (1) EXECUTE IMMEDIATE
 
 (2) PREPARE
 
 (3) EXECUTE
 
Номер 3
Какой SQL-оператор используется при многошаговом интерфейсе для выполнения оператора, описанного строковой переменной:
Ответ:
 (1) EXECUTE IMMEDIATE
 
 (2) PREPARE
 
 (3) EXECUTE
 
Упражнение 2:
Номер 1
В операторах
stmt_str1 :='INSERT INTO tbl1 (f1,f2,f3)
VALUES (?, ?, ?)';
EXEC SQL PREPARE stmt2 FROM :stmt_str1;
EXEC SQL EXECUTE stmt2 USING :f1, :f2, :f3; идентификатор :f1
указывает:
Ответ:
 (1) значение динамического параметра, определяющего INTO-переменную 
 (2) значение динамического параметра, определяющего переменную связи 
 (3) имя поля 
Номер 2
В операторах
stmt_str1 :='SELECT f1,f2 FROM tbl1 INTO ?, ?';
EXEC SQL PREPARE stmt2 FROM :stmt_str1;
EXEC SQL EXECUTE stmt2 USING :f1, :f2;идентификаторы :f1
и :f2
указывают:
Ответ:
 (1) значения динамических параметров, определяющих INTO-переменные 
 (2) значения динамических параметров, определяющих переменные связи 
 (3) имена полей 
Номер 3
В операторах
stmt_str1 :='SELECT f1,f2 FROM tbl1 INTO ?, ?';
EXEC SQL PREPARE stmt2 FROM :stmt_str1;
EXEC SQL EXECUTE stmt2 USING :f1, :f2;идентификаторы :f1
и :f2
указывают:
Ответ:
 (1) значение динамического параметра, определяющего INTO-переменную 
 (2) значение динамического параметра, определяющего переменную связи 
 (3) имя поля 
Упражнение 3:
Номер 1
Укажите те SQL-операторы, создающие курсор cur1
после выполнения операторов
str1:='SELECT * FROM tbl1';
EXEC SQL PREPARE stmt1 FROM :str1;, которые имеют правильный синтаксис:
Ответ:
 (1) EXEC SQL ALLOCATE cur1 CURSOR FOR :str1;
 
 (2) EXEC SQL DECLARE cur2 CURSOR FOR stmt1;
 
 (3) EXEC SQL ALLOCATE cur1 CURSOR FOR :stmt1;
 
Номер 2
Какой SQL-оператор необходимо вставить в код
str1:='SELECT f3 FROM tbl1 INTO ? WHERE f2 = 1';
EXEC SQL PREPARE stmt1 FROM :str1;
EXEC SQL DESCRIBE OUTPUT stmt1
USING SQL DESCRIPTOR descr1;
EXEC SQL EXECUTE stmt1 INTO SQL DESCRIPTOR descr1;
GET DESCRIPTOR descr1
VALUE 1 :f1=DATA :fnull=NULLABLE; чтобы он мог быть правильно выполнен:
Ответ:
 (1) SET DESCRIPTOR
 
 (2) ALLOCATE DESCRIPTOR
 
 (3) DESCRIBE
 
Номер 3
Какой тип курсора cur1
применяется в следующем коде:
str1:='SELECT f2 FROM tbl1 WHERE f1=? ';
EXEC SQL ALLOCATE cur1 CURSOR FOR :str1;
EXEC SQL OPEN cur1 USING :f2;
EXEC SQL FETCH cur1 INTO :f1;
Ответ:
 (1) динамический объявляемый курсор 
 (2) динамический размещаемый курсор 
 (3) курсор, создаваемый статически 
Упражнение 4:
Номер 1
Какой SQL-оператор используется для описания полей конкретного элемента SQL-дескриптора :
Ответ:
 (1) SET DESCRIPTOR
 
 (2) ALLOCATE DESCRIPTOR
 
 (3) GET DESCRIPTOR
 
Номер 2
В операторах
stmt_str1 :='UPDATE tbl1 SET f1= ? WHERE f2=10';
EXEC SQL PREPARE stmt2 FROM :stmt_str1;
EXEC SQL EXECUTE stmt2 USING :f1, :f2;идентификатор :f1
указывает:
Ответ:
 (1) значение динамического параметра, определяющего INTO-переменную 
 (2) значение динамического параметра, определяющего переменную связи 
 (3) имя поля 
Номер 3
Какой тип курсора cur1
применяется в следующем коде:
str1:='SELECT f1,f2 FROM tbl1 WHERE f3=? ';
EXEC SQL ALLOCATE cur1 CURSOR FOR :str1;
EXEC SQL OPEN cur1 USING :f3;
EXEC SQL FETCH cur1 INTO :f1,:f2;
Ответ:
 (1) динамический объявляемый курсор 
 (2) динамический размещаемый курсор 
 (3) курсор, создаваемый статически 
Упражнение 5:
Номер 1
Какой SQL-оператор сохраняет в предварительно созданном SQL-дескрипторе информацию о динамических параметрах откомпилированного SQL-оператора:
Ответ:
 (1) SET DESCRIPTOR
 
 (2) ALLOCATE DESCRIPTOR
 
 (3) GET DESCRIPTOR
 
 (4) DESCRIBE
 
Номер 2
В операторах
stmt_str1 :='SELECT f1,f2 FROM tbl1 INTO ?, ?';
EXEC SQL PREPARE stmt2 FROM :stmt_str1;
EXEC SQL EXECUTE stmt2 USING :f1, :f2;идентификаторы f1
и f2
указывают:
Ответ:
 (1) значения динамических параметров, определяющих INTO-переменные 
 (2) значения динамических параметров, определяющих переменные связи 
 (3) имена полей 
Номер 3
Какой SQL-оператор необходимо вставить в код
str1:='SELECT f3 FROM tbl1 INTO ? WHERE f2 = 1';
EXEC SQL PREPARE stmt1 FROM :str1;
EXEC SQL DESCRIBE OUTPUT stmt1
USING SQL DESCRIPTOR descr1;чтобы он мог быть правильно выполнен:
Ответ:
 (1) SET DESCRIPTOR
 
 (2) ALLOCATE DESCRIPTOR
 
 (3) DESCRIBE