This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Аналитические функции (9) | |
Создать таблицу из произвольного количества >1000 строк с двумя псевдослучайными моментами времени из одних суток: | |
начало телефонного разговора, конец телефонного разговора. Длительность разговора не должна превышать 200 секунд. | |
Момент начала и конца разговора включаются в разговор. | |
Написать функцию, которая для произвольного момента времени определяет число разговоров в данный момент времени. | |
Написать запрос, который определит максимальное число одновременных разговоров в течение суток. | |
*/ | |
--Подготавливаем тестовые данные. | |
CREATE TABLE Random_Dates_TAB (ID NUMBER GENERATED ALWAYS AS IDENTITY,start_date DATE, end_date DATE); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Аналитические функции (8) | |
Создать таблицу из произвольного количества >1000 строк с четырьмя полями: номер строки и четыре разных целых псевдослучайных числа в интервале от 1 до 100. | |
Вывести запросом: | |
- для первой строки – номер, первое число, второе число из следующей строки, третье число из следующей строки | |
- для последней строки – номер, первое число, второе число из предыдущей строки, третье число из предыдущей строки | |
- если первое число четное – номер, первое число, второе число из предыдущей строки, третье число из следующей строки | |
- если первое число нечетное – номер, первое число, второе число из следующей строки, третье число из предыдущей строки | |
*/ | |
-- Создаем тестовые данные | |
CREATE TABLE tabnum (ID NUMBER GENERATED ALWAYS AS IDENTITY, num1 NUMBER, num2 NUMBER, num3 NUMBER, num4 NUMBER ); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- Создаем тестовые данные | |
CREATE TABLE clients (ID NUMBER GENERATED ALWAYS AS IDENTITY PRIMARY KEY, NAME VARCHAR2(256)); | |
INSERT INTO clients (NAME) VALUES ('ООО Экотранс'); | |
INSERT INTO clients (NAME) VALUES ('ООО Аптека'); | |
INSERT INTO clients (NAME) VALUES ('ИП Колесников'); | |
INSERT INTO clients (NAME) VALUES ('ИП Яшин'); | |
INSERT INTO clients (NAME) VALUES ('ИП Иванов'); | |
INSERT INTO clients (NAME) VALUES ('ИП Нулевой'); | |
CREATE TABLE kontakts ( ID NUMBER GENERATED ALWAYS AS IDENTITY START WITH 100, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SELECT DECODE( NULL | |
, 1 | |
, 'ONE' | |
, NULL | |
, 'EMPTY' -- это условие будет истинным | |
, 'DEFAULT' | |
) dcd | |
FROM dual; | |
------------------------ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DECLARE | |
t_r1 VARCHAR(2);-- NULL; | |
t_r2 VARCHAR(2);-- NULL; | |
BEGIN | |
IF t_r1 != t_r2 THEN | |
dbms_output.put_line('Не равны'); | |
ELSIF t_r1 = t_r2 THEN | |
dbms_output.put_line('Равны'); | |
ELSE | |
dbms_output.put_line('НЕИЗВЕСТНО'); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Функция для формирования отложенного задания (job). | |
Входные данные: ID задания (уникальный идентификатор задания); дата/время запуска задания; pl/sql код, который нужно запустить. | |
Функция должна проверять, есть ли уже запланированное задание с указанным ID. | |
Если есть, то необходимо его обновить, иначе создать. | |
*/ | |
CREATE OR REPLACE FUNCTION FNC_MAKE_JOB ( | |
pJobNameID all_scheduler_jobs.job_name%TYPE, | |
pJobStartDate DATE, | |
pJobExecuteCode CLOB | |
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Выводит предыдущее, текущее и последующее значение даты */ | |
WITH t AS (SELECT TRUNC(SYSDATE-1) + LEVEL sdate FROM dual CONNECT BY LEVEL <= 10 ORDER BY TRUNC(SYSDATE)) | |
SELECT | |
LAG(t.sdate) OVER(ORDER BY t.sdate) prev_date | |
,t.sdate | |
,LEAD(t.sdate) OVER(ORDER BY t.sdate) next_date | |
FROM t; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- Вывод, только рабочих дней на следующие 30 дней. | |
SELECT * | |
FROM ( | |
SELECT TRUNC(SYSDATE -1) + LEVEL ToDate, | |
to_char((TRUNC(SYSDATE -1) + LEVEL),'DY') AS ToDay | |
FROM dual CONNECT BY LEVEL <= 30 | |
) | |
WHERE ToDay NOT IN ('СБ','ВС'); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Метод pipelined. | |
Имеется таблица dept со следующей структурой: | |
Name Type Nullable Default Comments | |
------ ------------ -------- ------- -------- | |
DEPTNO NUMBER | |
DNAME VARCHAR2(14) Y | |
LOC VARCHAR2(13) Y |
NewerOlder