utils_ORA
-------------------------------------------------
-- UTILS
SELECT * FROM user_source WHERE Lower(text) LIKE '%%';
SELECT * FROM user_tables WHERE table_name LIKE '%%';
SELECT * FROM user_tab_columns WHERE Lower(column_name) LIKE '%%' AND data_type LIKE '%%' AND Lower(table_name) LIKE '%%' ;
SELECT * FROM user_objects WHERE object_name LIKE '%%';
SELECT * FROM user_constraints WHERE constraint_name LIKE '%%' AND table_name LIKE '%%';
-- COL TO ROW + split oracle
select 'MOD_' || rownum apn_crit_id, regexp_substr(critere, '[^-]+', 1, 1) critere_designation, regexp_substr(critere, '[^-]+', 1, 2) critere_signe, apn_valeur
from (select apn_montant_min, apn_montant_max, apn_poids_min, apn_poids_max, apn_nb_lignes_min, apn_nb_lignes_max FROM acc_promotion WHERE apn_id = 1)
unpivot (apn_valeur for critere in (apn_montant_min as 'Total du dossier->=', apn_montant_max as 'Total du dossier-<=', apn_poids_min as 'Poids livré->=', apn_poids_max as 'Poids livré-<=', apn_nb_lignes_min AS 'Nombre de lignes->=', apn_nb_lignes_max AS 'Nombre de lignes-<='));
select regexp_substr(critere_infos, '[^-]+', 1, 1) id_col, critere_designation, regexp_substr(critere_infos, '[^-]+', 1, 2) critere_signe
from (select 'apn_montant_min->=' apn_montant_min, 'apn_montant_max-<=' apn_montant_max, 'apn_poids_min->=' apn_poids_min, 'apn_poids_max-<=' apn_poids_max, 'apn_nb_lignes_min->=' apn_nb_lignes_min, 'apn_nb_lignes_max-<=' apn_nb_lignes_max from dual)
unpivot (critere_infos for critere_designation in (apn_montant_min as 'Total du dossier', apn_montant_max as 'Total du dossier', apn_poids_min as 'Poids livré', apn_poids_max as 'Poids livré', apn_nb_lignes_min as 'Nombre de lignes', apn_nb_lignes_max as 'Nombre de lignes'));