Skip to content

Latest commit

 

History

History
90 lines (84 loc) · 2.08 KB

nazaryev.com-zapros_1_stars.sql.md

File metadata and controls

90 lines (84 loc) · 2.08 KB
COLUMN EN_PR FORMAT A20;
COLUMN SURNAME FORMAT A10;
COLUMN NAME FORMAT A10;
COLUMN SUR FORMAT A10;
COLUMN CIT FORMAT A10;

SELECT SUR, EN_PR, CIT FROM
	(
	SELECT SUR, EN_PR, C.NAME CIT
	FROM CITIZENSHIP C
	JOIN
		(
		SELECT H.SURNAME SUR, EN_PR, H.CITIZENSHIP_ID CIT_ID
		FROM HUMANS H
		JOIN
		(
			SELECT HUMAN_ID H_ID, EN_PR FROM
			ENTRANTS E JOIN
				(
				SELECT P.ENTRANT_ID ENT_ID, LISTAGG(P.PROGRAM_ID,', ')
				WITHIN GROUP (ORDER BY P.ENTRANT_ID) AS EN_PR
				FROM PRIORITIES P 
				GROUP BY P.ENTRANT_ID
				)
				ON E.ID = ENT_ID
		)
		ON H.ID = H_ID
		)
	ON C.ID = CIT_ID
	)
WHERE CIT LIKE INITCAP(F_TRANSLATE('Hjcc%')); --'Росс%'

CREATE OR REPLACE FUNCTION F_TRANSLATE(WORD IN VARCHAR2) 
RETURN VARCHAR2
IS
	S VARCHAR2(20);
BEGIN
S:=UPPER(WORD);
S:=REPLACE(S,'F', 'А');
S:=REPLACE(S,',', 'Б');
S:=REPLACE(S,'D', 'В');
S:=REPLACE(S,'U', 'Г');
S:=REPLACE(S,'L', 'Д');
S:=REPLACE(S,'T', 'Е');
S:=REPLACE(S,'`', 'Ё');
S:=REPLACE(S,';', 'Ж');
S:=REPLACE(S,'P', 'З');
S:=REPLACE(S,'B', 'И');
S:=REPLACE(S,'Q', 'Й');
S:=REPLACE(S,'R', 'К');
S:=REPLACE(S,'K', 'Л');
S:=REPLACE(S,'V', 'М');
S:=REPLACE(S,'Y', 'Н');
S:=REPLACE(S,'J', 'О');
S:=REPLACE(S,'G', 'П');
S:=REPLACE(S,'H', 'Р');
S:=REPLACE(S,'C', 'С');
S:=REPLACE(S,'N', 'Т');
S:=REPLACE(S,'E', 'У');
S:=REPLACE(S,'A', 'Ф');
S:=REPLACE(S,'[', 'Х');
S:=REPLACE(S,'W', 'Ц');
S:=REPLACE(S,'X', 'Ч');
S:=REPLACE(S,'I', 'Ш');
S:=REPLACE(S,']', 'Ъ');
S:=REPLACE(S,'S', 'Ы');
S:=REPLACE(S,'M', 'Ь');
S:=REPLACE(S,'''', 'Э');
S:=REPLACE(S,'.', 'Ю');
S:=REPLACE(S,'Z', 'Я');
	RETURN S;
END;
/


DECLARE
BEGIN
  FOR r1 IN ( SELECT 'DROP ' || object_type || ' ' || object_name || DECODE ( object_type, 'TABLE', ' CASCADE CONSTRAINTS PURGE' ) AS v_sql
                FROM user_objects
               WHERE object_type IN ( 'TABLE', 'VIEW', 'PACKAGE', 'TYPE', 'PROCEDURE', 'FUNCTION', 'TRIGGER', 'SEQUENCE' )
               ORDER BY object_type,
                        object_name ) LOOP
    EXECUTE IMMEDIATE r1.v_sql;
  END LOOP;
END;
/