oracle 10g中怎样执行很长的sql语句呢(最长可能有10万+字符)

本来是定义了一个clob变量vc_sql存储的,然后executeimmediatevc_sql;报错,查了下说是11g才支持,10g上有什么办法可以实现这个功能啊如果把... 本来是定义了一个clob变量vc_sql存储的,然后execute immediate vc_sql;报错,查了下说是11g才支持,10g上有什么办法可以实现这个功能啊
如果把sql保存成一个文件也可以,不过我不知道在oracle存储过程中怎样执行文件中的sql
注:这个sql不能拆开执行的
展开
 我来答
海用户
2016-01-18 · TA获得超过1409个赞
知道小有建树答主
回答量:382
采纳率:0%
帮助的人:52.8万
展开全部
DECLARE
lv_sql clob;--很长长很长的字符串 4G ,记住太长不能后在plsql不能打印,不能to_char,只要执---行就可以了,想要看结果可以写入一个表字段位clob,再select查看。
X number; --声明变量
BEGIN
x:=1; --给初值
FOR X IN REVERSE 1..10000 LOOP --reverse由大到小
lv_sql :=lv_sql || 'insert into testtable (aa) values(''111'')'|| ';';
END LOOP;
execute immediate lv_sql;
END;
---可以拼接可以很长很长,希望能帮到大家,然后点个赞,让更多的人知道
haipheng
2011-11-05 · TA获得超过131个赞
知道小有建树答主
回答量:176
采纳率:0%
帮助的人:82万
展开全部
没有特别好的办法,SQL语句不能超过36767个字符,还是想办法拆开吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
绝吹泪与辈9206
2011-10-30 · TA获得超过9.7万个赞
知道大有可为答主
回答量:3.3万
采纳率:0%
帮助的人:4344万
展开全部
例如
SQL>@C:\sql.sql

这样可以引用外部的sql语句来执行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jiao191035162
2011-10-26 · TA获得超过407个赞
知道小有建树答主
回答量:897
采纳率:0%
帮助的人:432万
展开全部
vc_sql clob;

execute immediate TO_CHAR(vc_sql);
这样试试吧
追问
这样执行一些稍短的可以,长的还是会有问题:报错-6502 ORA-06502: PL/SQL: numeric or value error
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6cd535f
2011-10-31 · 超过44用户采纳过TA的回答
知道小有建树答主
回答量:146
采纳率:100%
帮助的人:115万
展开全部
定义个存储过程,调用不行吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式