Сертификат "SQL и процедурно-ориентированные языки"
  • Сертификат "SQL и процедурно-ориентированные языки"
  • Сертификат "SQL и процедурно-ориентированные языки"
Сертификат "SQL и процедурно-ориентированные языки"
  • Сертификат "SQL и процедурно-ориентированные языки"
  • Сертификат "SQL и процедурно-ориентированные языки"

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

700,00 руб.
В течение часа!
Экзамен "SQL и процедурно-ориентированные языки" для пользователей и системных администраторов.
Количество
Есть в наличии!

Форма сдачи теста: Экстерн
Количество вопросов: 30
Проходной балл: 90% и выше
Срок действия сертификата: неограничен

Сертификат появляется в профиле ресурса INTUIT, и Вы можете заказать его бумажную версию на сайте INTUIT.
10000 шт.
Внимание !
Вопросы к тесту выложены исключительно в ознакомительных целях: количество вопросов может не совпадать с действительным, актуальность не поддерживается,- за решением теста 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, предназначенные для работы с мультимедийными данными:

SQLFoundation
SQL/PSM
SQLFramework
SQL/Bindings
SQL/CLI
SQL/OLB
SQL/MM



Какой раздел стандарта SQL99 содержит описание интерфейса уровня вызова:

SQL/OLB
SQLFoundation
SQL/Bindings
SQL/MM
SQL/CLI
SQLFramework
SQL/PSM



Какие из перечисленных возможностей входят в функциональное ядро стандарта SQL99:

объектные типы данных, определяемые пользователем
поддержка работы с LOB-объектами
простые типы данных, определяемые пользователем



К какому уровню расширенного соответствия стандарта SQL99 относится поддержка использования конструкторов значений строк и таблиц:

SQLFramework
OLAP
PSM
SQLFoundation
SQL/Bindings
CLI




Какие из перечисленных возможностей входят в функциональное ядро стандарта 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);




Какие SQL-операторы имеют правильный синтаксис:

CREATE TABLE tbl2 (fl1 char (10) NOT NULL,
                   fl2 integer DEFAULT 10);



CREATE TABLE tbl2 (fl1 char (10) , fl2 int);



CREATE TABLE tbl2 (fl1 char (10),
                   fl2 integer, DEFAULT 10);



Какие SQL-операторы имеют правильный синтаксис:

CREATE TABLE tbl3 (fl1 char (10),
    fl2 integer, ON COMMIT DELETE ROWS);


CREATE TABLE tbl3 (fl1 varchar (10) , fl2 int);


CREATE LOCAL TEMPORARY TABLE tbl3 (
    fl1 char (10) NOT NULL,
    fl2 integer ON COMMIT DELETE ROWS);

   
   
Отметьте фразы, которые могут использоваться в операторе CREATE TABLE при описании ограничений для столбца:

FOREIGN KEY
UNIQUE
REFERENCES
PRIMARY KEY
CHECK



Отметьте фразы, которые могут использоваться в операторе CREATE TABLE при описании ограничений для таблицы:

REFERENCES
PRIMARY KEY
CHECK
UNIQUE
FOREIGN KEY



Отметьте фразу, которая может использоваться в операторе CREATE TABLE при описании ограничений как для таблицы, так и для столбца:

FOREIGN KEY
REFERENCES
PRIMARY KEY
CHECK
UNIQUE



Отметьте фразы, которые могут использоваться в операторе CREATE TABLE при описании ограничений:

NOT NULL
UNIQUE
CHECK
REFERENCES
FOREIGN KEY



Какие SQL-операторы имеют правильный синтаксис:


CREATE TABLE tbl2 (fl1 char (200) , fl2 int);


CREATE TABLE tbl2 (fl1 char (200),
    fl2 integer, ON COMMIT DELETE ROWS);


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;

2, 3, 4, 5, 6
5, 6
1, 2, 3, 4, 5, 6, 6
1, 1, 2, 3, 4, 5, 6
1, 2, 3, 4, 5, 6



Таблица 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:

"грязное" чтение
фантомная вставка
неповторяющееся чтение
потерянное обновление



Отметьте, какие из перечисленных конфликтных ситуаций будут предотвращены при определении уровня изоляции REPEATABLE READ:

потерянное обновление
фантомная вставка
"грязное" чтение
неповторяющееся чтение



Что разрешается в транзакции после выполнения SQL-оператора

SET TRANSACTION  ISOLATION LEVEL READ UNCOMMITTED;

не разрешено никаких действий с БД
выполнять запросы и вносить изменения в базу данных
выполнять только оператор запроса



Что разрешается в транзакции после выполнения SQL-оператора

SET TRANSACTION  ISOLATION LEVEL SERIALIZABLE;

выполнять запросы и вносить изменения в базу данных
не разрешено никаких действий с БД
выполнять только оператор запроса




Что разрешается в транзакции после выполнения SQL-оператора

SET TRANSACTION  ISOLATION LEVEL READ COMMITTED;

выполнять только оператор запроса
выполнять любые запросы
не разрешено никаких действий с БД
вносить изменения в базу данных



Отметьте SQL-операторы, имеющие правильный синтаксис:

SET TRANSACTION 
    ISOLATION LEVEL READ UNCOMMITTED, READ ONLY;

SET TRANSACTION 
    ISOLATION LEVEL READ UNCOMMITTED, READ WRITE;

SET TRANSACTION 
    ISOLATION LEVEL REPEATABLE READ,
                    READ UNCOMMITTED;

                   

Отметьте SQL-операторы, имеющие правильный синтаксис:

SET TRANSACTION
    ISOLATION LEVEL SERIALIZABLE, READ ONLY;


SET TRANSACTION
    ISOLATION LEVEL SERIALIZABLE, READ WRITE;


SET TRANSACTION
   ISOLATION LEVEL READ UNCOMMITTED, READ WRITE;
  

  
Отметьте, какие из перечисленных конфликтных ситуаций будут предотвращены при определении уровня изоляции READ COMMITTED:

неповторяющееся чтение
фантомная вставка
"грязное" чтение
потерянное обновление



Отметьте SQL-операторы, имеющие правильный синтаксис:

SET TRANSACTION
    ISOLATION LEVEL REPEATABLE READ, READ ONLY ;


SET TRANSACTION
    ISOLATION LEVEL REPEATABLE READ, READ WRITE ;


SET TRANSACTION
    ISOLATION LEVEL REPEATABLE READ, SERIALIZABLE;



Что разрешается в транзакции после выполнения SQL-оператора

SET TRANSACTION  ISOLATION LEVEL READ COMMITTED;

не разрешено никаких действий с БД
выполнять запросы и вносить изменения в базу данных
выполнять только оператор запроса



Отметьте SQL-операторы, имеющие правильный синтаксис:

SET TRANSACTION 
   ISOLATION LEVEL REPEATABLE READ,
                   READ UNCOMMITTED;

SET TRANSACTION
   ISOLATION LEVEL REPEATABLE READ, READ ONLY


SET TRANSACTION
   ISOLATION LEVEL SERIALIZABLE, READ ONLY ;

SET TRANSACTION
   ISOLATION LEVEL REPEATABLE READ, SERIALIZABLE;

SET TRANSACTION
   ISOLATION LEVEL REPEATABLE READ, READ WRITE;
  
  
  
Отметьте SQL-операторы, имеющие правильный синтаксис:

SET TRANSACTION
    ISOLATION LEVEL SERIALIZABLE, READ WRITE;

SET TRANSACTION 
    ISOLATION LEVEL READ UNCOMMITTED, READ WRITE;

SET TRANSACTION 
    ISOLATION LEVEL READ UNCOMMITTED, READ ONLY;



Отметьте, какие из перечисленных конфликтных ситуаций будут предотвращены при определении уровня изоляции SERIALIZABLE:

"грязное" чтение
фантомная вставка
неповторяющееся чтение
потерянное обновление



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

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, используемой в операторе

EXEC SQL FETCH c1 INTO :f1,:f2
   INDICATOR:indf2, :f3: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;

динамический размещаемый курсор
динамический объявляемый курсор
курсор, создаваемый статически



Какой тип курсора 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;

динамический объявляемый курсор
курсор, создаваемый статически
динамический размещаемый курсор


Какой 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;

чтобы он мог быть правильно выполнен:

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, созданной оператором

CREATE TABLE tbl1 ( f1 CLOB, f2 BLOB);

empty_clob()
write
empty_blob()



Какая функция используется для открытия LOB-объекта типа BFILE:FILEOPENLOADFROMFILEREAD






Какие действия может выполнить оператор языка 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 выполняется заданное число раз:

FOR-LOOP-END LOOP;
LOOP-END LOOP;
WHILE-LOOP-END LOOP;



Укажите какой оператор, выполняющий добавление строки в таблицу 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 максимальное число элементов массива указывается при объявлении типа коллекции:

вложенная таблица
индексированная таблица
Varray-массив



Какой вид коллекции языка PL/SQL позволяет иметь пустые элементы:

индексированная таблица
Varray-массив
вложенная таблица



Какой вид коллекции языка PL/SQL представляет собой динамически расширяемый массив:

Varray-массив
индексированная таблица
вложенная таблица



Какая функция может быть выполнена до инициализации коллекции:

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 не позволяет иметь пустых элементов:

вложенная таблица
Varray-массив
индексированная таблица



Какая функция используется для определения количества элементов коллекции:

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 По Skype: molodoyberkut
telegram По Telegram: @MolodoyBerkut
icq По ICQ: 657089516

Или через форму обратной связи на нашем сайте
Пока сочиняется...
4.png