您需要为此创建动态SQL。
第一步
-创建
ALL_COLUMNS
变量
VARCHAR(5000)
数据类型。
从你的
CONFIGURATION
表选择要查询的列名。然后使用
STRING_AGG
函数将它们聚合为单个值(在我的示例中
COL1
配置
表)。将输出分配给
所有\u列
变量
使用
EXECUTE IMMEDIATE
运行动态SQL。添加
所有\u列
变量作为该查询的输入。
下面是示例代码:
DO
BEGIN
/* First Step - create string with all column names separated by comma*/
DECLARE ALL_COLUMNS VARCHAR(5000);
SELECT STRING_AGG(COL1,',' ORDER BY COL1) INTO ALL_COLUMNS FROM CONFIGURATION;
/*Second Step - create dynamic SQL including variable from First Step*/
EXECUTE IMMEDIATE ('SELECT ' || :ALL_COLUMNS || ' FROM "TRAINING" ');
END