ACCEPT table_name PROMPT 'Generate CREATE TABLE for which table? ' COL DUMMY1 NOPRINT COL DUMMY2 NOPRINT SPOOL CR_TAB_&table_name.SQL SET PAGESIZE 0 FEEDBACK OFF SELECT 1 DUMMY1, 1 DUMMY2, 'CREATE TABLE &table_name (' FROM DUAL UNION SELECT 2, COLUMN_ID, DECODE(COLUMN_ID, 1, ' ', ',')||COLUMN_NAME||' '|| DATA_TYPE||'('||DATA_LENGTH||'),' FROM USER_TAB_COLUMNS WHERE TABLE_NAME = '&table_name' AND DATA_TYPE = 'VARCHAR2' UNION SELECT 2, COLUMN_ID, DECODE(COLUMN_ID, 1, ' ', ',')||COLUMN_NAME||' '|| DATA_TYPE||'('||DATA_LENGTH||'),' FROM USER_TAB_COLUMNS WHERE TABLE_NAME = '&table_name' AND DATA_TYPE = 'NUMBER' AND DATA_PRECISION IS NULL UNION SELECT 2, COLUMN_ID, DECODE(COLUMN_ID, 1, ' ', ',')||COLUMN_NAME||' '|| DATA_TYPE||'('||DATA_PRECISION||','||DATA_SCALE||'),' FROM USER_TAB_COLUMNS WHERE TABLE_NAME = '&table_name' AND DATA_TYPE = 'NUMBER' AND DATA_PRECISION IS NOT NULL UNION SELECT 2, COLUMN_ID, DECODE(COLUMN_ID, 1, ' ', ',')||COLUMN_NAME||' '|| DATA_TYPE||',' FROM USER_TAB_COLUMNS WHERE TABLE_NAME = '&table_name' AND DATA_TYPE = 'DATE' UNION SELECT 3, 1, ') TABLESPACE PROJECT_TS;' FROM DUAL ORDER BY 1, 2; UNDEFINE table_name