SQL и процедурно-ориентированные языки - ответы
Количество вопросов - 200
При изменении таблицы оператором ALTER TABLE tbl1 DROP COLUMN f5 CASCADE; представление, использующее столбец f5 таблицы tbl1, будет:
Изменение таблицы оператором ALTER TABLE tbl1 DROP COLUMN f4 RESTRICT; будет успешно выполнено, если:
Таблица tbl1 содержит одно поле f1 со значениями 1, 1, 1, 2, 3; таблица tbl2 содержит одно поле f1 со значениями 1, 1, 4. Отметьте значения, которые войдут в сформированный оператором результирующий набор: select * from tbl1 intersect all select * from tbl2;
Отметьте пары значений, которые будут вставлены в таблицу tbl1 оператором INSERT INTO tbl1(f1,f2) VALUES (1+ COALESCE ( SELECT MAX(f1) FROM tbl1, 0 ), 100);
, если эта таблица не содержит ни одной строки:
Какие из далее объявленных переменных int var1;int var2;EXEC SQL BEGIN DECLARE SECTION;int var3;EXEC SQL END DECLARE SECTION;
можно использовать в качестве переменных связи встроенного SQL:
Какие из следующих подзапросов можно отнести к подзапросу строки, если в поле f1 таблицы tbl1 содержатся уникальные данные:
Какой тип курсора 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;
В операторах stmt_str1 :='SELECT f1,f2 FROM tbl1 INTO ?, ?';EXEC SQL PREPARE stmt2 FROM :stmt_str1;EXEC SQL EXECUTE stmt2 USING :f1, :f2;
идентификаторы :f1 и :f2 указывают:
Какой SQL-оператор сохраняет в предварительно созданном SQL-дескрипторе информацию о динамических параметрах откомпилированного SQL-оператора:
Какие действия выполнит СУБД Oracle при попытке повторно открыть курсор, указываемый переменной курсора:
Какую функцию следует использовать для создания пустого объекта, записываемого оператором INSERT в поле f1 таблицы tbl1, созданной операторомCREATE TABLE tbl1 ( f1 CLOB, f2 BLOB);
В операторах 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 указывает:
Какое значение будет занесено в поле f2 оператором EXEC SQL INSERT INTO tbl1 (f1,f2,f3) VALUES( :f1,:f2:indf2, :f3:indf3);
, если индикаторная переменная indf2 равна отрицательному значению:
В каком случае оператор встроенного SQL EXEC SQL SELECT f1,f2 FROM tbl1 INTO :f1,:f2 WHERE f2>100;
не выдаст сообщения об ошибке:
Какое значение будет присвоено индикаторной переменной indf2, используемой в операторе EXEC SQL FETCH c1 INTO :f1,:f2 INDICATOR:indf2, :f3:indf3;
если извлекаемое значение поля f2 равно NULL:
Какую из далее объявленных переменныхint var1;EXEC SQL BEGIN DECLARE SECTION;int var2;char var3[10];EXEC SQL END DECLARE SECTION;
можно использовать в качестве индикаторной переменной встроенного SQL:
После выполнения оператораGRANT INSERT (f1,f2) ON tbl1 TO user1;
пользователь user1 сможет выполнять следующие действия:
Отметьте, какие из перечисленных конфликтных ситуаций будут предотвращены при определении уровня изоляции READ COMMITTED:
Отметьте пары значений, которые будут вставлены в таблицу tbl1 оператором INSERT INTO tbl1(f1,f2) VALUES (10+ COALESCE ( SELECT MAX(f1) FROM tbl1, 0 ), 50);
, если эта таблица не содержит ни одной строки:
Таблица tbl1 содержит одно поле f1 со значениями 1, 1, 1, 2, 3, 4, 5; таблица tbl2 содержит одно поле f1 со значениями 1, 1, 2. Отметьте значения, которые войдут в сформированный оператором результирующий набор: select * from tbl1 minus select * from tbl2;
Отметьте фразы, которые могут использоваться в операторе CREATE TABLE при описании ограничений для таблицы:
Какой раздел стандарта SQL99 описывает средства языка SQL, предназначенные для выполнения более сложных запросов, включающих конструкторы значений строк и таблиц, использование фразы INTERSECT:
Таблица tbl1 содержит одно поле f1 со значениями 1, 1 , 2, 3, 4; таблица tbl2 содержит одно поле f1 со значениями 5, 6. Отметьте значения, которые войдут в сформированный оператором результирующий набор: (select * from tbl1 union all select * from tbl2) union select * from tbl2;
Представление v1 создано как результат запроса, использующего таблицу tbl1, оператором CREATE VIEW v1 AS (SELECT f1,f2, f3 FROM tbl1 WHERE f2>20);
Представление v2 создано как результат запроса, использующего представление v1, оператором CREATE VIEW v2 AS (SELECT f1, f2, f3 FROM v1 WHERE f2>10) WITH CASCADED CHECK OPTION;
Какие действия можно выполнять над таблицей tbl1, чтобы представление v2 не было удалено:
После выполнения пользователем user1 оператора GRANT SELECT ON tbl1 TO user2;
пользователем user2 оператора CREATE VIEW v1 AS (SELECT * FROM tbl1);
и опять пользователем user1 оператора REVOKE SELECT ON tbl1 FROM user2 CASCADE;
последний оператор:
Какая из перечисленных привилегий позволяет устанавливать внешний ключ с использованием любых столбцов таблицы в качестве родительского ключа:
После выполнения пользователем user1 оператора GRANT SELECT ON tbl1 TO user2;
пользователем user2 оператора CREATE VIEW v1 AS (SELECT * FROM tbl1);
и опять пользователем user1 оператора REVOKE SELECT ON tbl1 FROM user2 RESTRICT;
последний оператор:
Укажите какой оператор, выполняющий добавление строки в таблицу tbl1, созданной как CREATE TABLE tbl1 ( f1 CLOB, f2 INTEGER);
имеет правильный синтаксис:
Какие из перечисленных типов не используются для определения значения времени с учетом зонального сдвига:
Укажите, какие операторы, определяющие тело объектного типа для спецификации этого типаCREATE TYPE MyT AS OBJECT (i1 INTEGER, MEMBER FUNCTION sum_x (x INTEGER) RETURN INTEGER);
имеют правильный синтаксис:
Отметьте, какие из перечисленных конфликтных ситуаций будут предотвращены при определении уровня изоляции REPEATABLE READ:
Укажите какой оператор, выполняющий добавление строки в таблицу tbl1, созданной как CREATE TABLE tbl1 ( f1 CLOB, f2 BLOB);
имеет правильный синтаксис:
Что разрешается в транзакции после выполнения SQL-оператора SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
В каком виде коллекций языка PL/SQL максимальное число элементов массива указывается при объявлении типа коллекции:
Какой тип курсора 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;
Какая из перечисленных привилегий позволяет изменять значения или во всей таблице, или только в некоторых столбцах:
Какие действия выполнит СУБД Oracle при попытке повторно открыть курсор, определенный какCURSOR c1 IS SELECT * FROM tbl1;
который ранее уже был открыт оператором OPEN:
Укажите, какие операторы, определяющие тело объектного типа для спецификации типаCREATE TYPE MyT AS OBJECT (i1 INTEGER, MEMBER FUNCTION fun1 (x INTEGER) RETURN INTEGER);
, имеют правильный синтаксис:
Какая функция используется для копирования указанного количества байтов объекта типа BFILE в другой LOB-объект:
Какой 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;
чтобы он мог быть правильно выполнен:
В операторах stmt_str1 :='UPDATE tbl1 SET f1= ? WHERE f2=10';EXEC SQL PREPARE stmt2 FROM :stmt_str1;EXEC SQL EXECUTE stmt2 USING :f1, :f2;
идентификатор :f1 указывает:
В операторахstmt_str1 :='SELECT f1,f2 FROM tbl1 INTO ?, ?';EXEC SQL PREPARE stmt2 FROM :stmt_str1;EXEC SQL EXECUTE stmt2 USING :f1, :f2;
идентификаторы :f1 и :f2 указывают:
Какой SQL-оператор используется при одношаговом интерфейсе для выполнения оператора, описанного строковой переменной:
В каком случае при выполнении оператора встроенного SQL EXEC SQL SELECT f1,f2,f3 FROM tbl1 INTO :f1,:f2,:f3 WHERE f2=50;
не будет выдано сообщения об ошибке:
Каким образом будет изменено значение в поле f2 оператором EXEC SQL UPDATE tbl1 SET f1= :f1,f2=:f2:indf2;
если индикаторная переменная indf2 имеет отрицательное значение:
Какие из далее объявленных переменныхint var1;EXEC SQL BEGIN DECLARE SECTION;int var2;char var3[10];EXEC SQL END DECLARE SECTION;
можно использовать в качестве переменных связи встроенного SQL:
После выполнения пользователем user1 оператора GRANT SELECT ON tbl1 TO user2;
пользователем user2 оператора CREATE VIEW v1 AS (SELECT * FROM tbl1);
а затем пользователем user1 оператора REVOKE SELECT ON tbl1 FROM user2 CASCADE;
последний оператор:
После выполнения пользователем user1 оператора GRANT SELECT ON tbl1 TO user2;
пользователем user2 оператора SELECT * FROM tbl1;
и опять пользователем user1 оператора REVOKE SELECT ON tbl1 FROM user2 RESTRICT;
последний оператор:
После выполнения оператораGRANT UPDATE (f1,f2) ON tbl1 TO user1;
пользователь user1 сможет выполнять следующие действия:
Отметьте, какие из перечисленных конфликтных ситуаций будут предотвращены при определении уровня изоляции SERIALIZABLE:
Что разрешается в транзакции после выполнения SQL-оператораSET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
Отметьте, какие из перечисленных конфликтных ситуаций будут предотвращены при определении уровня изоляции READ COMMITTED:
Какой из перечисленных типов используется для определения значения даты и времени без учета зонального времени:
При изменении таблицы оператором ALTER TABLE tbl1 DROP COLUMN f2 CASCADE; представление, использующее столбец f2 таблицы tbl1, будет:
Представление v_1 создано как результат запроса, использующего таблицу tbl1, оператором CREATE VIEW v_1 AS (SELECT f1,f2, f3 FROM tbl1 WHERE f2>100);
Представление v_2 создано как результат запроса, использующего представление v_1, оператором CREATE VIEW v_2 AS (SELECT f1, f2, f3 FROM v_1 WHERE f2>50) WITH CASCADED CHECK OPTION;
Какие действия можно выполнять над представлением v_2:
Таблица tbl1 содержит одно поле f1 со значениями 1, 1, 1, 2, 3; таблица tbl2 содержит одно поле f1 со значениями 1, 2. Отметьте значения, которые войдут в сформированный оператором результирующий набор: select * from tbl1 minus all select * from tbl2;
Таблица tbl1 содержит одно поле f1 со значениями 1, 1, 1, 2, 3; таблица tbl2 содержит одно поле f1 со значениями 1, 1, 4. Отметьте значения, которые войдут в сформированный оператором результирующий набор: (select * from tbl1 intersect select * from tbl2) union select * from tbl2;
Какая агрегирующая функция выполняет подсчет количества всех значений столбцов в группе, включая значения NULL:
Какой из операторов возвращает значение TRUE, если указанный в нем подзапрос не содержит одинаковых строк:
Отметьте фразу, которая может использоваться в операторе CREATE TABLE при описании ограничений как для таблицы, так и для столбца:
К какому уровню расширенного соответствия стандарта SQL99 относится поддержка операторов цикла WHILE и REPEAT:
К какому уровню расширенного соответствия стандарта SQL99 относится поддержка процедур и функций, создаваемых операторами CREATE PROCEDURE и CREATE FUNCTION:
В каком стандарте языка SQL были введены правила встраивания языка SQL в процедурный язык программирования:
После выполнения оператораGRANT REFERENCES (f1,f2) ON tbl1 TO user1;
пользователь user1 сможет выполнять следующие действия:
После выполнения оператора GRANT REFERENCES (f1,f2) ON tbl1 TO user1;
пользователь user1 сможет выполнять следующие действия:
Что разрешается в транзакции после выполнения SQL-оператораSET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
Какое значение будет присвоено индикаторной переменной indf3, используемой в операторе EXEC SQL FETCH c1 INTO :f1,:f2 INDICATOR:indf2, :f3:indf3;
если извлекаемое значение поля f3 равно NULL:
Какой раздел стандарта SQL99 описывает средства языка SQL, предназначенные для работы с мультимедийными данными:
Укажите, какие операторы, определяющие тело объектного типа для спецификации этого типаCREATE TYPE MyT AS OBJECT ( r1 REAL, r2 REAL, MEMBER FUNCTION plus (x MyT) RETURN MyT);
имеют правильный синтаксис:
К какому уровню расширенного соответствия стандарта SQL99 относится поддержка процедур и функций, создаваемых операторами CREATE PROCEDURE и CREATE FUNCTION:
Таблица tbl1 содержит одно поле f1 со значениями 1, 1, 1, 2, 3; таблица tbl2 содержит одно поле f1 со значениями 1, 1, 2, 4. Отметьте значения, которые войдут в сформированный оператором результирующий набор: (select * from tbl1 intersect select * from tbl2) union select * from tbl2;
Отметьте все пары значений, которые будут занесены в результирующий набор оператором SELECT f1, CASE f2 WHEN 'aaa' THEN 'AAA' ELSE f2 END FROM tbl1;
, если таблица tbl1 содержит следующие строки:
поле f1: | поле f2: |
---|---|
1 | 'aaa' |
2 | 'bbb' |
3 | 'ccc' |
4 | 'ddd' |