【发布时间】:2014-02-13 06:08:13
【问题描述】:
如果有字符限制,我需要一些帮助来找到动态查询的解决方案。
我有 7 个变量,每个变量都定义为 varchar2(4000)。
我检查了每个变量的长度,它们总和为 4217。
我尝试使用以下语法执行动态查询。
OPEN p_Cursor FOR v_Query || v_I || vW1 || v_W2 || v_O || v_ODir || v_Join
USING value1, value2, value3;
我收到错误,并想显示查询但无法显示。 当我删除最后 2 个变量时,它会显示查询。
错误: 执行失败:ORA-00604:递归 SQL 级别 1 发生错误 ORA-01003: 没有解析语句
动态查询接受有限制吗?
我想到了这个问题............
【问题讨论】:
-
变量的内容是什么? (粗略地说,发布 4000 个字符的查询是不明智的。)
-
他们有查询、选择、列、连接所有这些
-
您的查询包含超过 4200 个字符,这有点令人担忧。我有一些非常重要的查询,但我怀疑我曾经破坏过几百个字符。更不用说您使用的是动态 SQL。也许有办法简化它?也许这实际上应该是多个独立的查询?
-
总共有 4200 个字符。场景是它有选择列、内部选择查询、连接和过滤器......它包含的所有东西......没有什么可以最小化
-
是的,但总的来说,它们是要传递给
CURSOR的单个查询。听起来非常容易出错。这可以是任何东西。
标签: oracle dynamic plsql limit