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