【发布时间】:2014-04-09 03:07:46
【问题描述】:
动态SQL中可以使用TABLE函数吗?
当我在EXECUTE IMMEDIATE 中使用带有记录表作为输入的表函数时,我得到了无效标识符错误。
我无法让以下 SQL 工作。
EXECUTE IMMEDIATE 'SELECT COUNT(1) from TABLE(' || v_tab_type || ') WHERE ' || v_where_condn INTO v_cnt;
EXECUTE IMMEDIATE 'SELECT COUNT(1) from ' || TABLE(v_tab_type) || ') WHERE ' || v_where_condn INTO v_cnt;
v_tab_type 是通过 Oracle AQ 消息填充的集合。
【问题讨论】:
-
如果
v_tab_type是一个已知类型的局部变量,你为什么要尝试使用动态SQL? -
只有在运行时才知道 where 条件..
标签: oracle10g dynamic-sql execute-immediate table-functions