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

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

Правильные ответы выделены зелёным цветом.
Все ответы: Курс знакомит слушателей со стандартами языка управления данными SQL-92 и SQL-99. Описываются механизмы разработки приложений баз данных, и в частности, базы данных Oracle. Подробно рассматривается процедурный язык обработки данных PL\SQL для Oracle. Затрагиваются вопросы объектно-ориентированного программирования в базах данных.
В каком стандарте языка SQL были введены правила использования динамического SQL:
(1) SQL89
(2) SQL92
(3) SQL99
Какой SQL-оператор используется при одношаговом интерфейсе для выполнения оператора, описанного строковой переменной:
(1) EXECUTE IMMEDIATE
(2) PREPARE
(3) EXECUTE
Укажите, какие из предлагаемых подтипов языка PL/SQL могут быть созданы:
(1) SUBTYPE MyDate IS DATE;
(2) TYPE MyRec IS RECORD (time1 INTEGER, time2 INTEGER);
(3) SUBTYPE MyChar IS VARCHAR(12);
Какой вид коллекции языка PL/SQL позволяет иметь пустые элементы:
(1) вложенная таблица
(2) индексированная таблица
(3) Varray-массив
Типом атрибута объектного типа может быть:
(1) любой допустимый тип, за исключением типов LONG, BOOLEAN и т.п.
(2) объектный тип
(3) любой скалярный тип
Какой из следующих операторов выполняет объявление явного курсора:
(1) CURSOR
(2) OPEN
(3) FETCH
(4) CLOSE
Какой оператор языка DML используется для извлечения данных из одной или нескольких таблиц:
(1) SELECT
(2) INSERT
(3) DELETE
(4) UPDATE
Какой из операторов возвращает значение TRUE, если указанный в нем подзапрос не содержит одинаковых строк:
(1) BETWEEN
(2) IN
(3) LIKE
(4) IS NULL
(5) EXISTS
(6) UNIQUE
Таблица tbl1 содержит одно поле f1 со значениями 1, 1, 2, 3, 4; таблица tbl2 содержит одно поле f1 со значениями 5, 6. Отметьте значения, которые войдут в сформированный оператором результирующий набор: (select * from tbl1 union all select * from tbl2) union all select * from tbl2;
(1) 1
(2) 1
(3) 2
(4) 3
(5) 4
(6) 5
(7) 6
(8) 5
(9) 6
Какие из следующих подзапросов можно отнести к табличному подзапросу:
(1) SELECT f1,f2,f3 from tbl1 WHERE EXISTS (SELECT * FROM tbl2);
(2) SELECT f1,f2,f3 from tbl1 WHERE f3 = ANY (SELECT f3 FROM tbl2);
(3) SELECT f1, COUNT(*), SUM(f2) from tbl1 t1 GROUP BY f1 HAVING SUM(f2)> ( SELECT MIN(f2)*4 FROM tbl1 t1_in WHERE t1.f1=t1_in.f1);
(4) SELECT * from tbl1 WHERE f2=( SELECT f2 FROM tbl2 WHERE f1=1);
Какое из приведенных представлений считается изменяемым:
(1) CREATE VIEW v_1 AS (SELECT f1,f2, f3 FROM tbl1 WHERE f2>50);
(2) CREATE VIEW v_1 AS (SELECT * FROM tbl1, tbl2 WHERE f2>50);
(3) CREATE VIEW v_2 AS (SELECT f1,SUM(f2) FROM tbl1 GROUP BY f1);
Отметьте, какие из перечисленных конфликтных ситуаций будут предотвращены при определении уровня изоляции SERIALIZABLE:
(1) неповторяющееся чтение
(2) "грязное" чтение
(3) потерянное обновление
(4) фантомная вставка
Какая из перечисленных привилегий позволяет изменять значения или во всей таблице, или только в некоторых столбцах:
(1) ALTER
(2) SELECT
(3) INSERT
(4) UPDATE
(5) DELETE
(6) REFERENCES
Какие из далее объявленных переменных int var1; EXEC SQL BEGIN DECLARE SECTION; int var2; char var3[10]; EXEC SQL END DECLARE SECTION;можно использовать в качестве INTO-переменных встроенного SQL:
(1) var1
(2) var2
(3) var3
К какому уровню расширенного соответствия стандарта SQL99 относится поддержка процедур и функций, создаваемых операторами CREATE PROCEDURE и CREATE FUNCTION:
(1) OLAP
(2) PSM
(3) CLI
В операторах 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) имя поля
Какую функцию следует использовать для создания пустого объекта, записываемого оператором INSERT в поле f2 таблицы tbl1, созданной оператором CREATE TABLE tbl1 ( f1 CLOB, f2 BLOB);
(1) empty_clob()
(2) empty_blob()
(3) write
Какая функция может быть выполнена до инициализации коллекции:
(1) EXISTS
(2) LIMIT
(3) COUNT
(4) EXTEND
(5) TRIM
Укажите, какие операторы, определяющие спецификацию объектного типа, имеют правильный синтаксис:
(1) CREATE TYPE MyT1 AS OBJECT ( r1 REAL, r2 REAL, MEMBER FUNCTION plus (x MyT1) RETURN MyT1);
(2) CREATE TYPE MyT2 AS OBJECT ( r1 REAL, r2 BOOLEAN, MEMBER FUNCTION plus (x MyT2) RETURN MyT2);
(3) CREATE TYPE MyT3 AS OBJECT ( r1 REAL, r2 tbl1.f1%TYPE FUNCTION plus (x MyT3) RETURN MyT3);
Какие атрибуты курсора позволяют определить, была ли найдена строка, удовлетворяющая условию:
(1) %ISOPEN
(2) %FOUND
(3) %NOTFOUND
(4) %ROWCOUNT
Какие SQL-операторы имеют правильный синтаксис:
(1) CREATE TABLE tbl1 (fl1 char (10) , fl2 integer);
(2) CREATE TABLE tbl1 (fl1 char (10) NOT NULL, fl2 integer);
(3) CREATE TABLE tbl1 (fl1 char (10), fl2 integer, NOT NULL);
Укажите SQL-операторы, имеющие правильный синтаксис:
(1) SELECT dno, MIN(f2), MAX(f2) FROM tbl1 GROUP BY dno HAVING MAX(f2) < 1000;
(2) SELECT f1,f2 FROM tbl1 ORDER BY f2;
(3) SELECT dno, MIN(f2), MAX(f2) FROM tbl1 GROUP BY dno HAVING f2 < 1000;
Таблица tbl1 содержит одно поле f1 со значениями 1, 1, 1, 2, 3; таблица tbl2 содержит одно поле f1 со значениями 1, 1, 4. Отметьте значения, которые войдут в сформированный оператором результирующий набор: select * from tbl1 intersect select * from tbl2;
(1) 1
(2) 2
(3) 3
(4) 4
Отметьте SQL-оператор, определяющий коррелированный подзапрос, имеющий правильный синтаксис:
(1) SELECT f1, COUNT(*), SUM(f2) from tbl1 t1 GROUP BY f1 HAVING SUM(f2)> ( SELECT MIN(f2)*4 FROM tbl1 t1_in WHERE t1.f1=t1_in.f1);
(2) SELECT f1, COUNT(*), SUM(f2) from tbl1 t1 GROUP BY f1 HAVING f2> ( SELECT MIN(f2)*4 FROM tbl1 t1_in WHERE t1.f1=t1_in.f1);
При изменении таблицы оператором ALTER TABLE tbl1 DROP COLUMN f2 CASCADE; представление, использующее столбец f2 таблицы tbl1, будет:
(1) удалено из базы данных
(2) оставлено без изменений
(3) изменено
Что разрешается в транзакции после выполнения SQL-оператора SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
(1) выполнять только оператор запроса
(2) выполнять запросы и вносить изменения в базу данных
(3) не разрешено никаких действий с БД
После выполнения оператора GRANT UPDATE (f1,f2) ON tbl1 TO user1;пользователь user1 сможет выполнять следующие действия:
(1) изменять любые столбцы таблицы tbl1
(2) изменять столбцы f1 и f2 таблицы tbl1
(3) только просматривать столбцы f1 и f2 таблицы tbl1
Какое значение будет занесено в поле f2 оператором EXEC SQL INSERT INTO tbl1 (f1,f2,f3) VALUES( :f1,:f2:indf2, :f3:indf3); если индикаторная переменная indf2 равна нулю:
(1) текущее значение переменной f2;
(2) значение 0
(3) значение NULL
Какой раздел стандарта SQL99 содержит описание интерфейса уровня вызова:
(1) SQLFramework
(2) SQLFoundation
(3) SQL/CLI
(4) SQL/PSM
(5) SQL/Bindings
(6) SQL/MM
(7) SQL/OLB
Укажите те 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;
Какой из приведенных операторов цикла языка PL/SQL выполняется заданное число раз:
(1) LOOP-END LOOP;
(2) WHILE-LOOP-END LOOP;
(3) FOR-LOOP-END LOOP;
Какие действия можно производить для переменной типа запись:
(1) использовать в качестве присваиваемого значения для записи того же типа
(2) задавать в качестве INTO-переменной в SQL-операторе SELECT или FETCH
(3) задавать как единое значение во фразе VALUE оператора INSERT
Укажите, какие операторы, определяющие тело объектного типа для спецификации этого типа CREATE TYPE MyT AS OBJECT ( r1 REAL, r2 REAL, MEMBER FUNCTION plus (x MyT) RETURN MyT); имеют правильный синтаксис:
(1) CREATE TYPE BODY MyT AS MEMBER FUNCTION plus (x INTEGER) RETURN MyT IS BEGIN RETURN MyT (r1 + x.r1, r2 + x.r2); END plus; END;
(2) CREATE TYPE BODY MyT AS MEMBER FUNCTION plus (x MyT) RETURN MyT IS BEGIN RETURN MyT (r1 + x.r1, r2 + x.r2); END plus; END;
(3) CREATE TYPE BODY MyT AS MEMBER FUNCTION plus (x MyT) IS BEGIN RETURN MyT (r1 + x.r1, r2 + x.r2); END plus; END;
Какие ограничения накладываются на использование переменной курсора:
(1) запрос, указываемый для переменной курсора оператором OPEN-FOR, не может содержать фразы FOR UPDATE
(2) переменной курсора не может быть присвоено значение NULL
(3) для переменной курсора нельзя повторно выполнять оператор OPEN, не закрыв предварительно результирующий набор оператором CLOSE
(4) переменную курсора нельзя использовать вместо курсора в цикле FOR-IN-LOOP
Отметьте фразы, которые могут использоваться в операторе CREATE TABLE при описании ограничений для таблицы:
(1) PRIMARY KEY
(2) UNIQUE
(3) CHECK
(4) REFERENCES
(5) FOREIGN KEY
Какая агрегирующая функция выполняет подсчет количества всех значений столбцов в группе, включая значения NULL:
(1) COUNT
(2) COUNT (*)
(3) AVG
(4) SUM
(5) MAX
(6) MIN
Отметьте пары значений, которые будут вставлены в таблицу tbl1 оператором INSERT INTO tbl1(f1,f2) VALUES (1+ COALESCE ( SELECT MAX(f1) FROM tbl1, 0 ), 100);, если эта таблица не содержит ни одной строки:
(1) 0 10
(2) 1 10
(3) 1 100
(4) NULL 100
Какой из перечисленных типов используется для определения значения даты и времени без учета зонального времени:
(1) DATE;
(2) TIME;
(3) TIME WITH TIME ZONE;
(4) TIMESTAMP;
(5) TIMESTAMP WITH TIME ZONE;
Отметьте SQL-операторы, имеющие правильный синтаксис:
(1) SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED, READ ONLY;
(2) SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED, READ WRITE;
(3) SET TRANSACTION ISOLATION LEVEL REPEATABLE READ, READ UNCOMMITTED;
После выполнения пользователем user1 оператора GRANT SELECT ON tbl1 TO user2; пользователем user2 оператора CREATE VIEW v1 AS (SELECT * FROM tbl1); и опять пользователем user1 оператора REVOKE SELECT ON tbl1 FROM user2 RESTRICT; последний оператор:
(1) будет выполнен
(2) будет проигнорирован
(3) будет выполнен с одновременным удалением представления v1
В каком случае оператор встроенного SQL EXEC SQL SELECT f1,f2 FROM tbl1 INTO :f1,:f2 WHERE f2>100;не выдаст сообщения об ошибке:
(1) существует только одна строка, удовлетворяющая указанному условию
(2) указанному условию удовлетворяют две строки
(3) указанному условию удовлетворяет произвольное число строк
К какому уровню расширенного соответствия стандарта SQL99 относится поддержка оператора цикла FOR:
(1) OLAP
(2) PSM
(3) CLI
Какой SQL-оператор используется для описания полей конкретного элемента SQL-дескриптора :
(1) SET DESCRIPTOR
(2) ALLOCATE DESCRIPTOR
(3) GET DESCRIPTOR
Укажите, какие из предлагаемых подтипов языка PL/SQL могут быть созданы:
(1) SUBTYPE MyF1 IS tbl1.F1%TYPE;
(2) TYPE MyRecord IS RECORD (time1 INTEGER, time2 INTEGER);
(3) SUBTYPE MyChars IS VARCHAR(28);
Какой вид коллекции языка PL/SQL не позволяет иметь пустых элементов:
(1) вложенная таблица
(2) индексированная таблица
(3) Varray-массив
Для атрибута объектного типа можно:
(1) выполнять инициализацию, используя оператор присваивания
(2) налагать ограничение NOT NULL
(3) указывать в качестве типа любой объектный тип
Какой из следующих операторов открывает результирующий набор для явного курсора:
(1) CURSOR
(2) OPEN
(3) FETCH
(4) CLOSE
Какой из операторов возвращает значение TRUE, если указанный в нем подзапрос возвращает хотя бы одну строку:
(1) BETWEEN
(2) IN
(3) LIKE
(4) IS NULL
(5) EXISTS
(6) UNIQUE
Таблица tbl1 содержит одно поле f1 со значениями 2, 3, 4; таблица tbl2 содержит одно поле f1 со значениями 5, 6, 7, 8. Отметьте значения, которые войдут в сформированный оператором результирующий набор: (select * from tbl1 union all select * from tbl2) union all select * from tbl2;
(1) 2
(2) 3
(3) 4
(4) 5
(5) 6
(6) 5
(7) 6
(8) 7
(9) 8
(10) 7
(11) 8
Какие из следующих подзапросов можно отнести к табличному подзапросу:
(1) SELECT f1,f2,f3 from tbl1 WHERE f3 = ANY (SELECT f3 FROM tbl2);
(2) SELECT f1, COUNT(*), MIN(f2) from tbl1 t1 GROUP BY f1 HAVING MAX(f2)> ( SELECT AVG(f2)*8 FROM tbl1 t11 WHERE t1.f1=t11.f1);
(3) SELECT f1,f2 from tbl1 WHERE f2=( SELECT f2 FROM tbl2 WHERE f1=1);
Какое из приведенных представлений считается изменяемым:
(1) CREATE VIEW v1 AS (SELECT * FROM tbl1);
(2) CREATE VIEW v1 AS (SELECT * FROM tbl1, tbl2 WHERE f2 IN (10,20,50));
(3) CREATE VIEW v1 AS (SELECT f1,AVG(f2) FROM tbl1 GROUP BY f1);
Отметьте, какие из перечисленных конфликтных ситуаций будут предотвращены при определении уровня изоляции READ COMMITTED:
(1) неповторяющееся чтение
(2) "грязное" чтение
(3) потерянное обновление
(4) фантомная вставка
Какая из перечисленных привилегий позволяет изменить структуру таблицы:
(1) ALTER
(2) SELECT
(3) INSERT
(4) UPDATE
(5) DELETE
(6) REFERENCES
Какие из далее объявленных переменных int var1; int var2; EXEC SQL BEGIN DECLARE SECTION; int var3; EXEC SQL END DECLARE SECTION;можно использовать в качестве переменных связи встроенного SQL:
(1) var1
(2) var2
(3) var3
К какому уровню расширенного соответствия стандарта SQL99 относится поддержка операторов цикла WHILE и REPEAT:
(1) SQL/OLAP
(2) SQL/PSM
(3) SQL/CLI
Какой SQL-оператор сохраняет в предварительно созданном SQL-дескрипторе информацию о динамических параметрах откомпилированного SQL-оператора:
(1) SET DESCRIPTOR
(2) ALLOCATE DESCRIPTOR
(3) GET DESCRIPTOR
(4) DESCRIBE
Укажите какой оператор, выполняющий добавление строки в таблицу tbl1, созданной как CREATE TABLE tbl1 ( f1 CLOB, f2 INTEGER); имеет правильный синтаксис:
(1) INSERT INTO tbl1 VALUES (empty_clob(), 0 );
(2) INSERT INTO tbl1 VALUES (empty_blob(),0 );
(3) INSERT INTO tbl1 VALUES (NULL, 0 );
Для какого типа коллекций языка PL/SQL можно применять функцию EXTEND:
(1) вложенная таблица
(2) индексированная таблица
(3) Varray-массив
Типом атрибута объектного типа может быть:
(1) тип, определяемый атрибутом %TYPE
(2) тип, определяемый атрибутом %ROWTYPE
(3) тип BOOLEAN
(4) объектный тип
(5) тип VARCHAR
Укажите, какой из фрагментов кода, использующих курсор, имеет правильный синтаксис:
(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;
Какой оператор языка SQL используется для создания таблицы:
(1) SELECT
(2) CREATE TABLE
(3) ALTER TABLE
Какой из операторов возвращает значение TRUE, если значение находится в числе перечисленных:
(1) BETWEEN
(2) IN
(3) LIKE
(4) IS NULL
(5) EXISTS
(6) UNIQUE
Какие из следующих подзапросов можно отнести к скалярному подзапросу:
(1) SELECT f1,f2,f3 from tbl1 WHERE f2 = IN (SELECT f2 FROM tbl2);
(2) SELECT * from tbl1 WHERE f2 ANY (SELECT f2 FROM tbl2 WHERE f3>50);
(3) SELECT f1,f2,f3 from tbl1 WHERE f2=(SELECT f2 FROM tbl2 WHERE f1=1010);
Отметьте условия, которым должно удовлетворять изменяемое представление:
(1) запрос, используемый для создания представления, не должен содержать вычислимых столбцов и агрегирующих функций
(2) запрос, используемый для создания представления, не должен содержать фразы GROUP BY
(3) запрос, используемый для создания представления, не должен содержать фразы HAVING
(4) запрос, используемый для создания представления, не должен содержать фразы DISTINCT
(5) запрос, используемый для создания представления, не должен содержать фразы WHERE
Отметьте, какие из перечисленных конфликтных ситуаций будут предотвращены при определении уровня изоляции SERIALIZABLE:
(1) неповторяющееся чтение
(2) "грязное" чтение
(3) потерянное обновление
(4) фантомная вставка
Какая из перечисленных привилегий позволяет выполнять удаление строк в таблице базы данных:
(1) ALTER
(2) SELECT
(3) INSERT
(4) UPDATE
(5) DELETE
(6) REFERENCES
Какое значение будет присвоено индикаторной переменной indf3, используемой в операторе EXEC SQL FETCH c1 INTO :f1,:f2 INDICATOR:indf2, :f3:indf3; если извлекаемое значение поля f3 равно NULL:
(1) NULL
(2) 0
(3) отрицательное значение
В каком стандарте языка SQL были введены правила встраивания языка SQL в процедурный язык программирования:
(1) SQL89
(2) SQL92
(3) SQL99
Какой SQL-оператор используется при многошаговом интерфейсе для компиляции оператора, описанного строковой переменной:
(1) EXECUTE IMMEDIATE
(2) PREPARE
(3) EXECUTE
Укажите, какие из подтипов языка PL/SQL могут быть созданы:
(1) SUBTYPE MyDate IS DATE;
(2) TYPE MyRec IS RECORD (i1 INTEGER);
(3) SUBTYPE MyF1 IS tbl1.f1%TYPE;
Какой вид коллекции языка PL/SQL представляет собой динамически расширяемый массив:
(1) вложенная таблица
(2) индексированная таблица
(3) Varray-массив
Типом атрибута объектного типа может быть:
(1) тип LONG
(2) тип BOOLEAN
(3) объектный тип
(4) тип INTEGER
Какой оператор открывает курсор, создавая новый результирующий набор на базе указанного запроса:
(1) CURSOR
(2) OPEN
(3) FETCH
(4) CLOSE
Какой оператор языка DML используется для удаления строк из таблицы:
(1) SELECT
(2) INSERT
(3) DELETE
(4) UPDATE
Какой из операторов возвращает значение TRUE, если значение находится в указанном диапазоне:
(1) BETWEEN
(2) IN
(3) LIKE
(4) IS NULL
(5) EXISTS
(6) UNIQUE
Таблица tbl1 содержит одно поле f1 со значениями 1, 1 , 2, 3, 4; таблица tbl2 содержит одно поле f1 со значениями 5, 6. Отметьте значения, которые войдут в сформированный оператором результирующий набор: (select * from tbl1 union all select * from tbl2) union select * from tbl2;
(1) 1, 2, 3, 4, 5, 6
(2) 1, 1, 2, 3, 4, 5, 6
(3) 1, 2, 3, 4, 5, 6, 6
(4) 2, 3, 4, 5, 6
(5) 5, 6
Какие из следующих подзапросов можно отнести к скалярному подзапросу:
(1) SELECT f1,f2,f3 from tbl1 WHERE f3 = ANY (SELECT f3 FROM tbl2);
(2) SELECT * from tbl1 WHERE f2 IN (SELECT f2 FROM tbl2 WHERE f3>100);
(3) SELECT f1, COUNT(*), SUM(f2) from tbl1 t1 GROUP BY f1 HAVING SUM(f2) > ( SELECT MIN(f2)*4 FROM tbl1 t1_in WHERE t1.f1=t1_in.f1);
(4) SELECT * from tbl1 WHERE f2=( SELECT f2 FROM tbl2 WHERE f1=1);
Отметьте условия, которым должно удовлетворять изменяемое представление:
(1) если в запросе, используемом для создания таблицы, в качестве таблицы выступает представление, то оно может не быть изменяемым
(2) запрос, используемый для создания представления, не должен содержать вычислимых столбцов и агрегирующих функций
(3) запрос, используемый для создания представления, не должен содержать фраз DISTINCT, GROUP BY и HAVING
(4) запрос, используемый для создания представления, не должен содержать фразы WHERE
Отметьте, какие из перечисленных конфликтных ситуаций будут предотвращены при определении уровня изоляции READ COMMITTED:
(1) неповторяющееся чтение
(2) "грязное" чтение
(3) потерянное обновление
(4) фантомная вставка
Какая из перечисленных привилегий позволяет выполнять оператор ALTER TABLE:
(1) ALTER
(2) SELECT
(3) INSERT
(4) UPDATE
(5) DELETE
(6) REFERENCES
Какую из далее объявленных переменных int var1; EXEC SQL BEGIN DECLARE SECTION; int var2; char var3[10]; EXEC SQL END DECLARE SECTION; можно использовать в качестве индикаторной переменной встроенного SQL:
(1) var1
(2) var2
(3) var3
К какому уровню расширенного соответствия стандарта SQL99 относится поддержка использования конструкторов значений строк и таблиц:
(1) OLAP
(2) PSM
(3) CLI
В операторах 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) имена полей
Укажите какой оператор, выполняющий добавление строки в таблицу tbl1, созданной как CREATE TABLE tbl1 ( f1 CLOB, f2 BLOB); имеет правильный синтаксис:
(1) INSERT INTO tbl1 VALUES (empty_clob(),empty_blob());
(2) INSERT INTO tbl1 VALUES (0,0 );
(3) INSERT INTO tbl1 VALUES (NULL, NULL );
Какая функция при удалении элемента из вложенной таблицы оставляет "пустое" место:
(1) LIMIT
(2) DELETE
(3) EXTEND
(4) TRIM
Вызовы внешних процедур можно выполнять:
(1) из анонимных блоков PL/SQL;
(2) из методов, объявленных в объектном типе;
(3) в хранимых или пакетных подпрограммах;
(4) в интерактивно выполняемом SQL-операторе
Укажите, какой из фрагментов кода, использующих курсор, имеет правильный синтаксис:
(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;
Какие SQL-операторы имеют правильный синтаксис:
(1) CREATE TABLE tbl2 (fl1 char (10) , fl2 int);
(2) CREATE TABLE tbl2 (fl1 char (10) NOT NULL, fl2 integer DEFAULT 10);
(3) CREATE TABLE tbl2 (fl1 char (10), fl2 integer, DEFAULT 10);
Укажите SQL-операторы, имеющие правильный синтаксис:
(1) SELECT * FROM tbl1 FULL OUTER tbl3;
(2) SELECT * FROM tbl1 NATURAL RIGHT JOIN tbl3;
(3) SELECT tbl1.f1,tbl2.f1 FROM tbl1 CROSS JOIN tbl2;
Таблица tbl1 содержит одно поле f1 со значениями 1, 1, 1, 2, 3; таблица tbl2 содержит одно поле f1 со значениями 1, 1, 4. Отметьте значения, которые войдут в сформированный оператором результирующий набор: select * from tbl1 intersect all select * from tbl2;
(1) 1
(2) 1
(3) 1
(4) 2
(5) 3
(6) 1
(7) 1
(8) 4
Отметьте SQL-операторы, определяющие коррелированный подзапрос и имеющие правильный синтаксис:
(1) SELECT * from tbl1 t1 WHERE f2 IN ( SELECT f2 FROM tbl2 t2 WHERE t1.f3=t2.f3);
(2) SELECT * from tbl1 t1 WHERE f2 IN ( SELECT f2 FROM tbl2 WHERE t1.f3=f3);
Какой из предлагаемых SQL-операторов имеет правильный синтаксис:
(1) ALTER TABLE tbl1 DROP COLUMN f1 RESTRICT;
(2) ALTER TABLE tbl1 ADD COLUMN f5 RESTRICT;
(3) ALTER TABLE tbl1 DROP COLUMN f1 RESTRICT CASCADE;
Что разрешается в транзакции после выполнения SQL-оператора SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
(1) выполнять только оператор запроса
(2) выполнять запросы и вносить изменения в базу данных
(3) не разрешено никаких действий с БД
После выполнения оператора GRANT REFERENCES (f1,f2) ON tbl1 TO user1;пользователь user1 сможет выполнять следующие действия:
(1) устанавливать внешний ключ с использованием любых столбцов таблицы tbl1 в качестве родительского ключа
(2) устанавливать внешний ключ с использованием столбцов f1 и f2 таблицы tbl1 в качестве родительского ключа
(3) изменять и просматривать столбцы f1 и f2 таблицы tbl1
Какое значение будет присвоено индикаторной переменной indf2, используемой в операторе EXEC SQL FETCH c1 INTO :f1,:f2 INDICATOR:indf2, :f3:indf3; если извлекаемое значение поля f2 равно NULL:
(1) NULL
(2) 0
(3) отрицательное значение
Какой раздел стандарта SQL99 определяет процедурные расширения языка SQL:
(1) SQLFramework
(2) SQLFoundation
(3) SQL/CLI
(4) SQL/PSM
(5) SQL/Bindings
(6) SQL/MM
(7) SQL/OLB
Какой 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
Какие действия может выполнить оператор языка PL/SQL EXIT WHEN:
(1) при выполнении указанного условия выйти из цикла
(2) при выполнении указанного условия перейти на начало цикла
(3) при выполнении указанного условия выйти из блока
Какой из перечисленных операторов, определяющих тип запись, имеет правильный синтаксис:
(1) TYPE rec_type IS RECORD (f1 REAL(7,2));
(2) TYPE rec_type IS RECORD (f2 VARCHAR2(15) NOT NULL);
(3) TYPE rec_type IS RECORD (f2 VARCHAR2(5), f3 REAL(7,2) DEFAULT);
Укажите, какие операторы, определяющие тело объектного типа для спецификации этого типа CREATE TYPE MyT AS OBJECT (i1 INTEGER, MEMBER FUNCTION sum_x (x INTEGER) RETURN INTEGER); имеют правильный синтаксис:
(1) CREATE TYPE BODY MyT AS MEMBER FUNCTION sum_x (x INTEGER) RETURN MyT IS BEGIN RETURN MyT (x); END sum_x; END;
(2) CREATE TYPE BODY MyT AS MEMBER FUNCTION sum_x (x INTEGER) RETURN INTEGER IS BEGIN RETURN i1 + x; END sum_x; END;
(3) CREATE TYPE BODY MyT AS MEMBER FUNCTION sum_x (x INTEGER) IS BEGIN RETURN MyT x; END sum_x; END;
Какой атрибут курсора позволяет определить, открыт ли курсор:
(1) %FOUND
(2) %ROWCOUNT
(3) %ISOPEN
Отметьте фразы, которые могут использоваться в операторе CREATE TABLE при описании ограничений для столбца:
(1) PRIMARY KEY
(2) UNIQUE
(3) CHECK
(4) REFERENCES
(5) FOREIGN KEY
Какая агрегирующая функция возвращает среднее значение агрегируемых данных:
(1) COUNT
(2) COUNT (*)
(3) AVG
(4) SUM
(5) MAX
(6) MIN
Какая из перечисленных функций используется для получения значения текущей даты и времени:
(1) CURRENT_TIME
(2) CURRENT_DATE
(3) CURRENT_TIMESTAMP
Отметьте SQL-операторы, имеющие правильный синтаксис:
(1) SET TRANSACTION ISOLATION LEVEL REPEATABLE READ, READ ONLY ;
(2) SET TRANSACTION ISOLATION LEVEL REPEATABLE READ, READ WRITE ;
(3) SET TRANSACTION ISOLATION LEVEL REPEATABLE READ, SERIALIZABLE;
После выполнения пользователем user1 оператора GRANT SELECT ON tbl1 TO user2; пользователем user2 оператора SELECT * FROM tbl1; и опять пользователем user1 оператора REVOKE SELECT ON tbl1 FROM user2 RESTRICT; последний оператор:
(1) будет выполнен
(2) будет проигнорирован
(3) будет выполнен с одновременным удалением всех представлений, использующих таблицу tbl1
Укажите, какой из следующих курсоров можно использовать в позиционированном операторе UPDATE:
(1) EXEC SQL DECLARE c1 CURSOR FOR SELECT f1,f2,f3 FROM tbl1 WHERE f2>100;
(2) EXEC SQL DECLARE c1 CURSOR FOR SELECT f1,f2,f3 FROM tbl1 ORDER BY f1;
(3) EXEC SQL DECLARE c1 CURSOR FOR SELECT sum(f2) FROM tbl1;
К какому уровню расширенного соответствия стандарта SQL99 относится поддержка процедур и функций, создаваемых операторами CREATE PROCEDURE и CREATE FUNCTION:
(1) SQLFramework
(2) SQLFoundation
(3) PSM
(4) CLI
В операторах 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) имя поля
Какую функцию следует использовать для создания пустого объекта, записываемого оператором INSERT в поле f1 таблицы tbl1, созданной оператором CREATE TABLE tbl1 ( f1 CLOB, f2 BLOB);
(1) empty_clob()
(2) empty_blob()
(3) write
Какая функция используется для определения количества элементов коллекции:
(1) EXISTS
(2) COUNT
(3) EXTEND
(4) TRIM
Укажите, какие операторы, определяющие спецификацию объектного типа, имеют правильный синтаксис:
(1) CREATE TYPE MyT1 AS OBJECT ( i1 INTEGER, MEMBER FUNCTION fun1 (x INTEGER) RETURN MyT1);
(2) CREATE TYPE MyT1 AS OBJECT ( r1 LONG, r2 RECORD);
(3) CREATE TYPE MyT1 AS OBJECT ( r1 tbl1%ROWTYPE, FUNCTION fun1 () RETURN INTEGER);
Какой атрибут курсора позволяет определить количество строк в результирующем наборе:
(1) %ISOPEN
(2) %FOUND
(3) %NOTFOUND
(4) %ROWCOUNT
Укажите SQL-операторы, имеющие правильный синтаксис:
(1) SELECT fl1, AVG(f2), MAX(f2) FROM tbl1 GROUP BY fl1 HAVING f1 < 20;
(2) SELECT fl1, MAX(fl2) FROM tbl1 GROUP BY fl1 HAVING MAX(fl2) > 10;
(3) SELECT f1, f2, SUM(f3) FROM tbl1;
Отметьте SQL-операторы, определяющие коррелированный подзапрос и имеющие правильный синтаксис:
(1) SELECT f1.f2.f3 FROM tbl1 WHERE f2> ( SELECT AVG(f2) FROM tbl1);
(2) SELECT * from tbl1 t1 WHERE f2 IN ( SELECT f2 FROM tbl2 t2 WHERE t1.f3=t2.f3);
(3) SELECT f1, COUNT(*), SUM(f2) from tbl1 t1 GROUP BY f1 HAVING f2> ( SELECT MIN(f2)*4 FROM tbl1 t1_in WHERE t1.f1=t1_in.f1);
При изменении таблицы оператором ALTER TABLE tbl1 DROP COLUMN f5 CASCADE; представление, использующее столбец f5 таблицы tbl1, будет:
(1) оставлено без изменений
(2) изменено
(3) удалено из базы данных
Что разрешается в транзакции после выполнения SQL-оператора SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
(1) выполнять только оператор запроса
(2) выполнять любые запросы
(3) вносить изменения в базу данных
(4) не разрешено никаких действий с БД
После выполнения оператора GRANT UPDATE (f1,f2) ON tbl1 TO user1; пользователь user1 сможет выполнять следующие действия:
(1) изменять любые столбцы таблицы tbl1
(2) изменять столбец f1 таблицы tbl1
(3) изменять столбец f2 таблицы tbl1
(4) только просматривать столбцы f1 и f2 таблицы tbl1
(5) добавлять новые строки в таблицу tbl1
Какое значение будет занесено в поле f2 оператором EXEC SQL INSERT INTO tbl1 (f1,f2,f3) VALUES( :f1,:f2:indf2, :f3:indf3);, если индикаторная переменная indf2 равна отрицательному значению:
(1) текущее значение переменной f2;
(2) значение 0
(3) значение NULL
Какой раздел стандарта SQL99 описывает средства языка SQL, предназначенные для выполнения более сложных запросов, включающих конструкторы значений строк и таблиц, использование фразы INTERSECT:
(1) SQLFramework
(2) SQLFoundation
(3) SQL/CLI
(4) SQL/PSM
(5) SQL/Bindings
(6) SQL/OLAP
(7) SQL/OLB
В операторах 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) имена полей
Какие действия может выполнить оператор языка PL/SQL EXIT WHEN:
(1) при выполнении указанного условия выйти из цикла
(2) при выполнении указанного условия перейти на начало цикла
(3) при выполнении указанного условия завершить выполнение процедуры
(4) при выполнении указанного условия выйти из блока
Какой из перечисленных операторов, определяющих тип запись, имеет правильный синтаксис:
(1) TYPE rec_type IS RECORD (f1 tbl1.f1%TYPE);
(2) TYPE rec_type IS RECORD (f2 INTEGER NOT NULL);
(3) TYPE rec_type IS RECORD (f2 tbl1.f2%TYPE, f3 REAL(7,2) DEFAULT);
Внешняя процедура может храниться в:
(1) DLL-библиотеке
(2) любом внешнем файле
(3) в объекте базы данных
(4) хранимой процедуре базы данных
Если при неявном курсоре формируемый результирующий набор должен содержать более одной строки, то:
(1) результирующий набор будет создан
(2) будет инициировано исключение TOO_MANY_ROWS
(3) никаких действий выполнено не будет
Отметьте фразы, которые могут использоваться в операторе CREATE TABLE при описании ограничений:
(1) NOT NULL
(2) UNIQUE
(3) CHECK
(4) REFERENCES
(5) FOREIGN KEY
Укажите SQL-операторы, имеющие правильный синтаксис:
(1) SELECT * FROM tbl1 FULL OUTER tbl2;
(2) SELECT * FROM tbl1 NATURAL LEFT JOIN tbl2;
(3) SELECT tbl1.f1,tbl2.f1 FROM tbl1 CROSS LEFT JOIN tbl2;
Таблица tbl1 содержит одно поле f1 со значениями 1, 1, 1, 2, 3, 4, 5; таблица tbl2 содержит одно поле f1 со значениями 1, 1, 2. Отметьте значения, которые войдут в сформированный оператором результирующий набор: select * from tbl1 minus select * from tbl2;
(1) 1
(2) 1
(3) 1
(4) 2
(5) 3
(6) 4
(7) 5
(8) 1
(9) 1
(10) 2
Отметьте SQL-операторы, определяющие коррелированный подзапрос и имеющие правильный синтаксис:
(1) SELECT f1,f2,f3 from tbl1 t1 WHERE f2 ANY (SELECT f2 FROM tbl2 t2 WHERE t1.f3=t2.f3);
(2) SELECT * from tbl1 t1 WHERE f2 IN ( SELECT f2 FROM tbl2 WHERE f3>100);
(3) SELECT f1, MIN(f2) from tbl1 t1 GROUP BY f1 HAVING MAX(f2)> ( SELECT AVG(f2)*8 FROM tbl1 t11 WHERE t1.f1=t11.f1);
Какой из предлагаемых SQL-операторов имеет правильный синтаксис:
(1) ALTER TABLE tbl1 DROP COLUMN f1 RESTRICT;
(2) ALTER TABLE tbl1 DROP COLUMN f1 CASCADE RESTRICT;
(3) ALTER TABLE tbl1 ADD COLUMN f1, ADD COLUMN f2 RESTRICT;
Что разрешается в транзакции после выполнения SQL-оператора SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
(1) выполнять только оператор запроса
(2) вносить изменения в базу данных
(3) не разрешено никаких действий с БД
После выполнения оператора GRANT REFERENCES (f1,f2) ON tbl1 TO user1; пользователь user1 сможет выполнять следующие действия:
(1) устанавливать внешний ключ с использованием любых столбцов таблицы tbl1 в качестве родительского ключа
(2) удалять из таблицы tbl1 поля f1 и f2
(3) устанавливать внешний ключ с использованием столбцов f1 и f2 таблицы tbl1 в качестве родительского ключа
(4) изменять и просматривать столбцы f1 и f2 таблицы tbl1
Укажите, какой из следующих курсоров можно использовать в позиционированном операторе UPDATE:
(1) EXEC SQL DECLARE c1 CURSOR FOR SELECT * FROM tbl1 ORDER BY f1;
(2) EXEC SQL DECLARE c1 CURSOR FOR SELECT * FROM tbl1;
(3) EXEC SQL DECLARE c1 CURSOR FOR SELECT COUNT() FROM tbl1;
К какому уровню расширенного соответствия стандарта SQL99 относится поддержка операторов управления CASE и IF:
(1) OLAP
(2) PSM
(3) CLI
Какой SQL-оператор используется при многошаговом интерфейсе для выполнения оператора, описанного строковой переменной:
(1) EXECUTE IMMEDIATE
(2) PREPARE
(3) EXECUTE
Укажите, какие из подтипов языка PL/SQL могут быть созданы:
(1) SUBTYPE MyNum IS NUMBER (10,2);
(2) TYPE MyRec IS tbl1%ROWTYPE;
(3) SUBTYPE MyF1 IS tbl1.f1%TYPE;
В каком виде коллекций языка PL/SQL максимальное число элементов массива указывается при объявлении типа коллекции:
(1) вложенная таблица
(2) индексированная таблица
(3) Varray-массив
Внешняя процедура может храниться в:
(1) DLL-библиотеке
(2) любом внешнем файле
(3) хранимой процедуре базы данных
Какой оператор выполняет извлечение строки из результирующего набора:
(1) CURSOR
(2) OPEN
(3) FETCH
(4) CLOSE
Какой оператор языка SQL используется для изменения значений полей в таблице:
(1) SELECT
(2) INSERT
(3) DELETE
(4) UPDATE
Какой из операторов возвращает значение TRUE, если указанный в нем подзапрос содержит хотя бы одну строку:
(1) BETWEEN
(2) IN
(3) LIKE
(4) IS NULL
(5) EXISTS
(6) UNIQUE
Какие из следующих подзапросов можно отнести к подзапросу строки, если в поле f1 таблицы tbl1 содержатся уникальные данные:
(1) SELECT f1,f2,f3 from tbl1 WHERE EXISTS (SELECT * FROM tbl1);
(2) INSERT INTO tbl2(f1,f2,f3) (SELECT f1,f2,f3 FROM tbl1 WHERE f1=1);
(3) SELECT f1,f2,f3 from tbl1 WHERE f3 = ANY (SELECT f3 FROM tbl2);
(4) SELECT * from tbl2 WHERE f2 IN (SELECT f2 FROM tbl1);
(5) SELECT * from tbl1 WHERE f2=(SELECT f2 FROM tbl2 WHERE f1=1);
Представление 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:
(1) добавлять любые строки;
(2) добавлять строки, в которых f2>50
(3) добавлять строки, в которых f2>100
Отметьте, какие из перечисленных конфликтных ситуаций будут предотвращены при определении уровня изоляции REPEATABLE READ:
(1) неповторяющееся чтение
(2) "грязное" чтение
(3) потерянное обновление
(4) фантомная вставка
Какая из перечисленных привилегий позволяет устанавливать внешний ключ с использованием любых столбцов таблицы в качестве родительского ключа:
(1) ALTER
(2) SELECT
(3) INSERT
(4) UPDATE
(5) DELETE
(6) REFERENCES
Какие из далее объявленных переменных int var1; EXEC SQL BEGIN DECLARE SECTION; int var2; char var3[10]; EXEC SQL END DECLARE SECTION;можно использовать в качестве переменных связи встроенного SQL:
(1) var1
(2) var2
(3) var3
Какой раздел стандарта SQL99 описывает средства языка SQL, предназначенные для работы с мультимедийными данными:
(1) SQLFramework
(2) SQLFoundation
(3) SQL/CLI
(4) SQL/PSM
(5) SQL/Bindings
(6) SQL/MM
(7) SQL/OLB
В операторах 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) имя поля
Какая функция используется для открытия LOB-объекта типа BFILE:
(1) READ
(2) LOADFROMFILE
(3) FILEOPEN
Какая функция используется для определения реального количества элементов коллекции:
(1) EXISTS
(2) LIMIT
(3) COUNT
(4) EXTEND
(5) TRIM
Укажите, какие операторы, определяющие спецификацию объектного типа, имеют правильный синтаксис:
(1) CREATE TYPE MyT1 AS OBJECT ( i1 INTEGER, MEMBER FUNCTION sum_x (x INTEGER) RETURN MyT1);
(2) CREATE TYPE MyT2 AS OBJECT ( r1 LONG, MEMBER FUNCTION sum_x (x MyT2) RETURN MyT2);
(3) CREATE TYPE MyT3 AS OBJECT ( r1 REAL, FUNCTION sum_x (x MyT3));
Какой атрибут курсора возвращает номер текущей строки:
(1) %NOTFOUND
(2) %FOUND
(3) %ROWCOUNT
Какие SQL-операторы имеют правильный синтаксис:
(1) CREATE TABLE tbl3 (fl1 varchar (10) , fl2 int);
(2) CREATE LOCAL TEMPORARY TABLE tbl3 ( fl1 char (10) NOT NULL, fl2 integer ON COMMIT DELETE ROWS);
(3) CREATE TABLE tbl3 (fl1 char (10), fl2 integer, ON COMMIT DELETE ROWS);
Укажите SQL-оператор, имеющий правильный синтаксис:
(1) SELECT * FROM tbl1 NATURAL FULL OUTER JOIN tbl3;
(2) SELECT * FROM tbl1 JOIN tbl3;
(3) SELECT dno, MIN(f2), MAX(f2) FROM tbl1 HAVING SUM(f2) < 1000;
Таблица tbl1 содержит одно поле f1 со значениями 1, 1, 1, 2, 3; таблица tbl2 содержит одно поле f1 со значениями 1, 1, 4. Отметьте значения, которые войдут в сформированный оператором результирующий набор: (select * from tbl1 intersect select * from tbl2) union select * from tbl2;
(1) 1
(2) 2
(3) 3
(4) 4
Отметьте SQL-операторы, определяющие коррелированный подзапрос и имеющие правильный синтаксис:
(1) SELECT f1.f2.f3 FROM tbl1 WHERE f2> ( SELECT AVG(f2) FROM tbl1);
(2) SELECT * from tbl1 t1 WHERE f2 IN ( SELECT f2 FROM tbl2 t2 WHERE t1.f3=t2.f3);
Изменение таблицы оператором ALTER TABLE tbl1 DROP COLUMN f4 RESTRICT; будет успешно выполнено, если:
(1) в любом случае
(2) нет представлений, ссылающихся на столбец f4 таблицы tbl1
(3) есть одно представление, ссылающееся на столбец f4 таблицы tbl1
Что разрешается в транзакции после выполнения SQL-оператора SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
(1) выполнять только оператор запроса
(2) выполнять запросы и вносить изменения в базу данных
(3) не разрешено никаких действий с БД
После выполнения оператора GRANT INSERT (f1,f2) ON tbl1 TO user1;пользователь user1 сможет выполнять следующие действия:
(1) вставлять в таблицу tbl1 строки с любыми значениями
(2) вставлять в таблицу tbl1 строки со значениями столбцов f1 и f2
(3) только просматривать столбцы f1 и f2 таблицы tbl1
Каким образом будет изменено значение в поле f2 оператором EXEC SQL UPDATE tbl1 SET f1= :f1,f2=:f2:indf2; если индикаторная переменная indf2 имеет отрицательное значение:
(1) будет занесено текущее значение переменной f2;
(2) будет занесено значение 0
(3) будет занесено значение NULL
Какие из перечисленных возможностей входят в функциональное ядро стандарта SQL99:
(1) простые типы данных, определяемые пользователем
(2) объектные типы данных, определяемые пользователем
(3) поддержка работы с LOB-объектами
Какой тип курсора 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) курсор, создаваемый статически
Укажите, какой фрагмент кода имеет правильный синтаксис:
(1) BEGIN FOR i IN 1..10 LOOP GOTO end_loop; <<end_loop>> END LOOP; END;
(2) BEGIN FOR i IN 1..10 LOOP IF i=1 THEN GOTO end_loop; END IF; <<end_loop>> NULL; END LOOP; END;
(3) BEGIN FOR i IN 1..10 LOOP GOTO end_loop; FOR j IN 1..10 LOOP <<end_loop>> NULL; END LOOP; END LOOP; END;
Какой из перечисленных операторов определяет тип, сохраняемый в базе данных:
(1) TYPE T_rec IS RECORD (f1 tbl1.f1%TYPE, f2 VARCHAR2(15), ));
(2) TYPE d1 IS VARRAY(365) OF DATE;
(3) CREATE TYPE rec_var1 AS VARRAY(2) OF DATE;
При каждом рекурсивном вызове подпрограммы:
(1) создается новый экземпляр всех переменных, объявленных в подпрограмме
(2) создается новый экземпляр всех курсоров,
(3) не создается новых экземпляров переменных и курсоров, объявленных в подпрограмме
Какие действия выполнит СУБД Oracle при попытке повторно открыть курсор, определенный как CURSOR c1 IS SELECT * FROM tbl1; который ранее уже был открыт оператором OPEN:
(1) никаких действий выполнено не будет
(2) курсор будет открыт заново
(3) будет инициировано исключение CURSOR_ALREADY_OPEN
Отметьте фразу, которая может использоваться в операторе CREATE TABLE при описании ограничений как для таблицы, так и для столбца:
(1) PRIMARY KEY
(2) UNIQUE
(3) CHECK
(4) REFERENCES
(5) FOREIGN KEY
Какая агрегирующая функция находит минимальное значение в агрегируемых данных:
(1) COUNT
(2) COUNT (*)
(3) AVG
(4) SUM
(5) MAX
(6) MIN
Таблица tbl1 содержит одно поле f1 со значениями 1, 1, 1, 2, 3; таблица tbl2 содержит одно поле f1 со значениями 1, 2. Отметьте значения, которые войдут в сформированный оператором результирующий набор: select * from tbl1 minus all select * from tbl2;
(1) 1
(2) 1
(3) 1
(4) 2
(5) 3
(6) 1
(7) 1
(8) 2
Какой из перечисленных типов используется для определения значения времени с учетом зонального сдвига:
(1) DATE;
(2) TIME;
(3) TIME WITH TIME ZONE;
(4) TIMESTAMP;
(5) TIMESTAMP WITH TIME ZONE;
Отметьте SQL-операторы, имеющие правильный синтаксис:
(1) SET TRANSACTION ISOLATION LEVEL SERIALIZABLE, READ ONLY;
(2) SET TRANSACTION ISOLATION LEVEL SERIALIZABLE, READ WRITE;
(3) SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED, READ WRITE;
После выполнения пользователем user1 оператора GRANT SELECT ON tbl1 TO user2; пользователем user2 оператора CREATE VIEW v1 AS (SELECT * FROM tbl1); и опять пользователем user1 оператора REVOKE SELECT ON tbl1 FROM user2 CASCADE; последний оператор:
(1) будет выполнен
(2) будет проигнорирован
(3) будет выполнен с одновременным удалением представления v1
Какой из следующих операторов создает результирующий набор курсора c1:
(1) EXEC SQL DECLARE c1 CURSOR FOR SELECT f1,f2 FROM tbl1;
(2) EXEC SQL OPEN c1;
(3) EXEC SQL FETCH c1 INTO :f1,:f2;
К какому уровню расширенного соответствия стандарта SQL99 относится поддержка использования конструкторов значений строк и таблиц:
(1) SQLFramework
(2) SQLFoundation
(3) SQL/Bindings
(4) OLAP
(5) PSM
(6) CLI
Какой тип курсора 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) курсор, создаваемый статически
Какая функция используется для копирования указанного количества байтов объекта типа BFILE в другой LOB-объект:
(1) READ
(2) LOADFROMFILE
(3) FILEOPEN
Какие действия нельзя производить для переменной типа запись:
(1) использовать в качестве присваиваемого значения для записи того же типа
(2) задавать в качестве INTO-переменной в SQL-операторе SELECT или FETCH
(3) задавать как единое значение во фразе VALUE оператора INSERT
Укажите, какие операторы, определяющие тело объектного типа для спецификации типа CREATE TYPE MyT AS OBJECT (i1 INTEGER, MEMBER FUNCTION fun1 (x INTEGER) RETURN INTEGER);, имеют правильный синтаксис:
(1) CREATE TYPE BODY MyT AS MEMBER FUNCTION fun1 (x REAL) RETURN MyT IS BEGIN RETURN100; END; END;
(2) CREATE TYPE BODY MyT AS MEMBER FUNCTION fun1 (x INTEGER) RETURN INTEGER IS BEGIN RETURN x+100; END; END;
(3) CREATE TYPE BODY MyT AS MEMBER FUNCTION fun1 (x INTEGER) IS BEGIN RETURN MyT (x.i1); END; END;
Какие ограничения накладываются на использование переменной курсора:
(1) запрос, указываемый для переменной курсора оператором OPEN-FOR, не может содержать фразы FOR UPDATE
(2) переменную курсора нельзя указывать в операторе FETCH
(3) для переменной курсора нельзя повторно выполнять оператор OPEN, не закрыв предварительно результирующий набор оператором CLOSE
Какая агрегирующая функция определяет среднее значение:
(1) COUNT
(2) COUNT (*)
(3) AVG
(4) SUM
(5) MAX
(6) MIN
Отметьте пары значений, которые будут вставлены в таблицу tbl1 оператором INSERT INTO tbl1(f1,f2) VALUES (10+ COALESCE ( SELECT MAX(f1) FROM tbl1, 0 ), 50);, если эта таблица не содержит ни одной строки:
(1) 0 50
(2) 1 50
(3) 10 50
(4) NULL 50
Какие из перечисленных типов не используются для определения значения времени с учетом зонального сдвига:
(1) DATE;
(2) TIME;
(3) TIME WITH TIME ZONE;
(4) TIMESTAMP;
(5) TIMESTAMP WITH TIME ZONE;
Отметьте SQL-операторы, имеющие правильный синтаксис:
(1) SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED, READ ONLY;
(2) SET TRANSACTION ISOLATION LEVEL SERIALIZABLE, READ WRITE;
(3) SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED, READ WRITE;
После выполнения пользователем user1 оператора GRANT SELECT ON tbl1 TO user2; пользователем user2 оператора CREATE VIEW v1 AS (SELECT * FROM tbl1); а затем пользователем user1 оператора REVOKE SELECT ON tbl1 FROM user2 CASCADE; последний оператор:
(1) будет выполнен
(2) будет проигнорирован
(3) будет выполнен с одновременным удалением представления v1
В каком случае при выполнении оператора встроенного SQL EXEC SQL SELECT f1,f2,f3 FROM tbl1 INTO :f1,:f2,:f3 WHERE f2=50;не будет выдано сообщения об ошибке:
(1) указанному условию удовлетворяют две строки
(2) существует только одна строка, удовлетворяющая указанному условию
(3) указанному условию удовлетворяет произвольное число строк
Какие из перечисленных возможностей входят в функциональное ядро стандарта SQL99:
(1) простые типы данных, определяемые пользователем
(2) объектные типы данных, определяемые пользователем
(3) внешние подпрограммы, вызываемые из SQL
Какой 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
Какая функция используется для вычисления длины LOB-объекта:
(1) READ
(2) LOADFROMFILE
(3) FILEOPEN
(4) GETLENGTH
Какой из перечисленных операторов определяет тип, сохраняемый в базе данных:
(1) TYPE T_rec IS RECORD (f1 tbl1.f1%TYPE, f2 DATE, ));
(2) CREATE TYPE t2 IS TABLE OF tbl1%ROWTYPE INDEX BY BINARY_INTEGER;
(3) CREATE TYPE t3 AS VARRAY(7) OF DATE;
Укажите, какие операторы, определяющие спецификацию объектного типа, имеют правильный синтаксис:
(1) CREATE TYPE MyT1 AS OBJECT ( MEMBER FUNCTION fun1 (x INTEGER) RETURN INTEGER);
(2) CREATE TYPE MyT2 AS OBJECT ( FUNCTION fun1 (x MyT2) RETURN MyT2);
(3) CREATE TYPE MyT3 AS OBJECT ( r1 REAL, MAP MEMBER FUNCTION fun1 ());
Какие действия выполнит СУБД Oracle при попытке повторно открыть курсор, указываемый переменной курсора:
(1) никаких действий выполнено не будет
(2) курсор будет открыт заново
(3) будет инициировано исключение CURSOR_ALREADY_OPEN
Какие SQL-операторы имеют правильный синтаксис:
(1) CREATE TABLE tbl2 (fl1 char (200) , fl2 int);
(2) CREATE LOCAL TEMPORARY TABLE tbl3 ( fl1 integer, fl2 integer, fl3 integer ON COMMIT DELETE ROWS);
(3) CREATE TABLE tbl2 (fl1 char (200), fl2 integer, ON COMMIT DELETE ROWS);
Какая агрегирующая функция находит максимальное значение в агрегируемых данных:
(1) COUNT
(2) COUNT (*)
(3) AVG
(4) SUM
(5) MAX
(6) MIN
Таблица tbl1 содержит одно поле f1 со значениями 1, 1, 1, 2, 3; таблица tbl2 содержит одно поле f1 со значениями 1, 1, 2, 4. Отметьте значения, которые войдут в сформированный оператором результирующий набор: (select * from tbl1 intersect select * from tbl2) union select * from tbl2;
(1) 1
(2) 2
(3) 3
(4) 4
Отметьте все пары значений, которые будут занесены в результирующий набор оператором SELECT f1, CASE f2 WHEN 'aaa' THEN 'AAA' ELSE f2 END FROM tbl1;, если таблица tbl1 содержит следующие строки:
поле f1:поле f2:
1'aaa'
2'bbb'
3'ccc'
4'ddd'
(1) 1 'aaa'
(2) 1 'AAA'
(3) 2 'bbb'
(4) 3 'ccc'
(5) 4 'ddd'
Представление 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 не было удалено:
(1) добавлять любые строки;
(2) удалять любые столбцы
(3) изменять любые строки
Отметьте SQL-операторы, имеющие правильный синтаксис:
(1) SET TRANSACTION ISOLATION LEVEL REPEATABLE READ, READ ONLY;
(2) SET TRANSACTION ISOLATION LEVEL REPEATABLE READ, READ WRITE;
(3) SET TRANSACTION ISOLATION LEVEL SERIALIZABLE, READ ONLY ;
(4) SET TRANSACTION ISOLATION LEVEL REPEATABLE READ, SERIALIZABLE;
(5) SET TRANSACTION ISOLATION LEVEL REPEATABLE READ, READ UNCOMMITTED;
После выполнения пользователем user1 оператора GRANT SELECT ON tbl1 TO user2; пользователем user2 оператора CREATE VIEW v1 AS (SELECT * FROM tbl1); и опять пользователем user1 оператора REVOKE SELECT ON tbl1 FROM user2 RESTRICT; последний оператор:
(1) будет выполнен
(2) будет проигнорирован
(3) будет выполнен с одновременным удалением представления v1
Какой из следующих операторов закрывает результирующий набор курсора c1:
(1) EXEC SQL DECLARE c1 CURSOR FOR SELECT f1,f2 FROM tbl1;
(2) EXEC SQL OPEN c1;
(3) EXEC SQL FETCH c1 INTO :f1,:f2;
(4) EXEC SQL CLOSE c1;