【问题标题】:Referencing an array element in select Query in PL/SQL在 PL/SQL 中的选择查询中引用数组元素
【发布时间】:2012-11-07 06:17:03
【问题描述】:

我正在编写一些 Pl/SQl,其中我使用了长度为 5 的数组变量。

然后我将另一个表的所有列名存储到上面声明的数组中。 现在我正在寻找一种解决方案,通过它我可以使用 select Query 中的 Array 元素从另一个具有列名的表中获取数据。 喜欢

arr(1):='Name'
arr(2):='Course'

PL/Sql中的Query应该是这样的(仅供参考)

select arr(1) from Mttable;

==== 当我以这种方式编写查询时会产生错误

注意-所有工作都应该在 Oracle 10g 上的 Pl/SQL 中完成

请帮忙。

【问题讨论】:

    标签: sql plsql oracle10g dynamic-sql


    【解决方案1】:

    您可以在字符串中构建查询并执行该字符串。我的 PL/SQL 生锈了,但类似于:

    begin
       query := 'select ' || arr(1) || ' from Mttable';
       execute immediate query;
    end;
    

    【讨论】:

    • 这种技术称为动态 SQL,当您需要在 SQL 中使用表名或列名作为变量时,就需要这种技术。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-20
    • 1970-01-01
    相关资源
    最近更新 更多