Интересные вопросы про Oracle

  1. Что будет, если попытаться вставить запись в DUAL?
  2. Задача – выгрузить 10 миллионов записей из таблицы в плоский файл. Как бы вы это сделали?
  3. Сколькими способами вы можете на чистом SQL получить ровно 56 строк (неважно какого содержания)? Какой из них быстрее?
  4. Что такое транспонирование строк? Сколькими разными способами вы сможете это проделать?


Добавим данные в таблицу dual:

DECLARE
  i PLS_INTEGER := 0;
BEGIN
  WHILE i < 10
  LOOP
    INSERT INTO dual d (d.dummy) VALUES (to_char(i));
    i := i + 1;
  END LOOP;
END;
/

COMMIT WORK;
/

Результат:

DUMMY
X
0
1
2
3
4
5
6
7
8
9

Добавление данных происходит под пользователем SYS.
Удалим данные:

DECLARE
  i PLS_INTEGER := 0;
BEGIN
  WHILE i < 10
  LOOP
    DELETE dual d WHERE d.dummy = to_char(i);
    i := i + 1;
  END LOOP;
END;
/
COMMIT WORK;
/

Tags: , ,

Leave a Reply

You must be logged in to post a comment.