用于排除不必要的列的 SQL 查询



>假设一个表在oracle数据库中由50列组成,需要选择超过45列,但是任何时候通过写每个单独的列名称来选择超过45列都是浪费时间,那么需要通过排除oracle数据库中不必要的列来选择超过45列,如何解决需求??

只需编写一个视图,该视图选择您要选择的每一列

create view example as select [your columns] from [your table];

然后只需选择视图:

select * from example;

您可以将动态 SQL 与ALL_TAB_COLUMNS

一起使用
SELECT t.table_name,
'SELECT ' 
|| listagg(t.column_name,' ,') WITHIN GROUP(ORDER BY t.column_name) 
|| ' FROM ' || t.table_name as BuiltSQL
FROM ALL_TAB_COLUMNS t
WHERE t.table_name = 'YourTableName'
and t.column_name NOT IN('UnNecessaryCol1','col2',...)
GROUP BY t.table_name

这将生成一个 SQL 代码供您使用。

最新更新