Handige systeemtabellen
DUAL | Een “dummy” tabel |
cols | Informatie over kolomnamen en tabel namen. COLUMN_NAME, TABLE_NAME |
all_tables | Informatie over alle tabellen, de tabel naam kun je vinden in TABLE_NAME |
all_views | Informatie over alle views, de view naam kun je vinden in VIEW_NAME |
all_tab_cols | SELECT column_name FROM all_tab_cols WHERE table_name = ‘TABELNAAM‘ |
/* Alle tabellen en opvragen uit waar de tabelnaam met ST begint */ SELECT * FROM all_tables WHERE table_name LIKE 'ST%'
/* Alle views en opvragen uit waar de view_name NAAM bevat*/
SELECT * FROM all_views WHERE view_name LIKE ‘%NAAM%’
/* Zoeken naar aanwezigheid van een specifieke kolomnaam in tabellen en LIKE is case sensitive, daarom is het slim om ook de functie upper te gebruiken */
select table_name from all_tab_columns where upper(column_name) = ‘KODE_R’ AND upper(table_name) like ‘S%’ ORDER BY table_name;
/* Check laatste wijzigingen van een tabel */
SELECT * FROM DBA_TAB_MODIFICATIONS WHERE table_name = ‘SZGEBR’;
SELECT * FROM USER_TAB_MODIFICATIONS
DUAL tabel
/*De DUAL tabel is een handige dummy tabel, bijvoorbeeld om functies uit te testen: */
SELECT UPPER(‘This is a string’) FROM DUAL; /*of*/
SELECT TO_CHAR(SYSDATE, ‘DD-MM-YYYY’) “NU” FROM DUAL
/* Maar ook: */
SELECT (SELECT MAX(CLIENTNR) FROM SZCLIENT) AS maxClientnr, (SELECT MAX(AANVRAAGNR) FROM SZAANVR) AS maxWerkproces FROM DUAL