在 PL/SQL 中的选择查询中引用数组元素
Posted
技术标签:
【中文标题】在 PL/SQL 中的选择查询中引用数组元素【英文标题】:Referencing an array element in select Query in 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 中完成
请帮忙。
【问题讨论】:
【参考方案1】:您可以在字符串中构建查询并执行该字符串。我的 PL/SQL 生锈了,但类似于:
begin
query := 'select ' || arr(1) || ' from Mttable';
execute immediate query;
end;
【讨论】:
这种技术称为动态 SQL,当您需要在 SQL 中使用表名或列名作为变量时,就需要这种技术。以上是关于在 PL/SQL 中的选择查询中引用数组元素的主要内容,如果未能解决你的问题,请参考以下文章