asked on
SELECT 'CREATE OR REPLACE TYPE '
|| table_name
|| '_OBJ IS OBJECT ('
|| LISTAGG(
column_name
|| ' '
|| CASE data_type
WHEN 'NUMBER' THEN 'NUMBER(' || data_precision || ',' || data_scale || ')'
WHEN 'VARCHAR2' THEN 'VARCHAR2(' || data_length || ')'
WHEN 'CHAR' THEN 'CHAR(' || data_length || ')'
ELSE data_type
END,
',' || chr(10)
)
WITHIN GROUP (ORDER BY column_id)
|| ');'
ddl_for_object,
'CREATE OR REPLACE TYPE ' || table_name || '_TAB IS TABLE OF ' || table_name || '_OBJ;'
ddl_for_table
FROM user_tab_cols
WHERE table_name = 'EMP'
GROUP BY table_name
ASKER
ASKER
Oracle is an object-relational database management system. It supports a large number of languages and application development frameworks. Its primary languages are SQL, PL/SQL and Java, but it also includes support for C and C++. Oracle also has its own enterprise modules and application server software.
TRUSTED BY