SELECT ‘CREATE TABLE ‘ || table_name || ‘ (‘ ||
LISTAGG(column_name || ‘ ‘ || data_type ||
CASE
WHEN data_type IN (‘VARCHAR2’, ‘CHAR’) THEN ‘(‘ || data_length || ‘)’
WHEN data_type = ‘NUMBER’ AND data_precision IS NOT NULL AND data_scale IS NOT NULL THEN ‘(‘ || data_precision || ‘,’ || data_scale || ‘)’
WHEN data_type = ‘NUMBER’ AND data_precision IS NOT NULL THEN ‘(‘ || data_precision || ‘)’
ELSE ”
END, ‘, ‘) WITHIN GROUP (ORDER BY column_id) || ‘);’ AS create_table_statement
FROM all_tab_cols
WHERE table_name = ‘MY_TABLE_NAME’
GROUP BY table_name;
It not work, i need it work
viettq1991 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.