Proszę o pomoc z zapytaniem, które ma wygenerować skrypt do pliku. W skrypcie tym zapiszą sie wszystkie "create table" jakie mam w bazie.
Nie wiem co sie dzieje w niektórych liniach kodu.
SET HEADING OFF
SET FEEDBACK OFF
SET TERMOUT OFF
SPOOL C:\CREATE.SQL
COLUMN S FORMAT A40 HEADING ' '
COLUMN KOLUMNY FORMAT A40 HEADING ' '
BREAK ON S SKIP 1--lamanie z przejsciem do lini 1
SELECT 'CREATE TABLE '||Table_name||'( ' "S", COLUMN_NAME||' '||DATA_TYPE||
DECODE(CHAR_COL_DECL_LENGTH,NULL,'','('||CHAR_COL_DECL_LENGTH||')')||DECODE(DATA_PRECISION,NULL,'','('||DATA_PRECISION||')')
|| DECODE(NULLABLE,'N',' NOT NULL')||
DECODE(COLUMN_ID,(SELECT MAX(COLUMN_ID) FROM User_tab_columns WHERE table_name=K.table_name),');',',') "KOLUMNY" --COLUMN_ID wskazuje na pozycję kolumn. W kolumnie o ostatnim COLUMN_ID dla danej tabeli dekodujemy numer na znak ');'
FROM User_tab_columns K
WHERE table_name IN ('PRACOWNICY','FIRMA,'FUNKCJE','DOSTAWCY','PRODUCENT');
SPOOL OFF
SET HEADING ON SET FEEDBACK ON SET TERMOUT ON START C:\CREATE.SQLCREATE TABLE PRODUCENT(
OPIS VARCHAR2(50))