SELECT ud.name view_name,
ud.referenced_name based_table,
vcols.column_name,
NVL (tcom.comments, vcom.comments) comments
FROM all_dependencies ud,
all_tab_columns vcols,
all_tab_columns tcols,
all_col_comments tcom,
all_col_comments vcom
WHERE ud.referenced_name = tcom.table_name
AND ud.name = vcom.table_name
AND vcols.table_name = ud.name
AND vcols.owner = ud.owner
AND vcols.column_name = vcom.column_name
AND vcols.column_name = tcols.column_name
AND tcols.owner = ud.owner
AND tcols.table_name = ud.referenced_name
AND tcols.column_name = tcom.column_name
AND vcom.owner = ud.owner
AND tcom.owner = ud.owner
AND ud.name = 'V_MAJOR_FOR_API'
AND ud.TYPE = 'VIEW'
AND ud.referenced_type IN ('TABLE', 'VIEW')
AND tcom.comments IS NOT NULL;
ผลลัพธ์จาก sql query ข้างบน
ขั้นตอนที่ 2 จัดทำ format sql script เพื่อสร้าง comment ของ column view ตามรูปแบบ “COMMENT ON COLUMN V_MAJOR_FOR_API .MAJOR_TYPE IS ‘รหัสประเภท’;“ โดยเขียน sql script จากข้างบนมาจัดการต่อ
SELECT 'COMMENT ON COLUMN '
|| ud.name
|| '.'
|| vcols.column_name
|| ' IS '''
|| NVL (tcom.comments, vcom.comments)
|| ''';' comments
FROM all_dependencies ud,
all_tab_columns vcols,
all_tab_columns tcols,
all_col_comments tcom,
all_col_comments vcom
WHERE ud.referenced_name = tcom.table_name
AND ud.name = vcom.table_name
AND vcols.table_name = ud.name
AND vcols.owner = ud.owner
AND vcols.column_name = vcom.column_name
AND vcols.column_name = tcols.column_name
AND tcols.owner = ud.owner
AND tcols.table_name = ud.referenced_name
AND tcols.column_name = tcom.column_name
AND vcom.owner = ud.owner
AND tcom.owner = ud.owner
AND ud.name = 'V_MAJOR_FOR_API'
AND ud.TYPE = 'VIEW'
AND ud.referenced_type IN ('TABLE', 'VIEW')
AND tcom.comments IS NOT NULL;