oracle spool脚本中如何嵌套过程块begin end;

我在使用如下脚本时报错,高手来帮忙!spoold:\kele8.txtdeclarev_tab_listvarchar2(8000);--表名列表beginforvc_t... 我在使用如下脚本时报错,高手来帮忙!spool d:\kele8.txt
declare
v_tab_list varchar2(8000); --表名列表
begin
for vc_tab in (select t.table_name from all_tables t where t.owner=upper('&用户名')) loop
if (v_tab_list is null) then
v_tab_list :=vc_tab.table_name;
else
v_tab_list := v_tab_list||','||vc_tab.table_name;
end if;
end loop;
dbms_output.put_line(v_tab_list);
end;
spool off;
/目的是想通过过程块计算出一个用户下所有表名后,打印到脚本中!
展开
 我来答
匿名用户
2013-05-10
展开全部
你好。
很幸运看到你的问题。
但是又很遗憾到现在还没有人回答你的问题。也可能你现在已经在别的地方找到了答案,那就得恭喜你啦。
可能是你问的问题有些专业了,没人会。或者别人没有遇到或者接触过你的问题,所以帮不了你。建议你去问题的相关论坛去求助,那里的人通常比较多,也比较热心,可能能快点帮你解决问题。
希望我的回答也能够帮到你!
祝你好运~!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d4808edfd
2015-03-17 · TA获得超过332个赞
知道小有建树答主
回答量:258
采纳率:0%
帮助的人:113万
展开全部
spool d:\kele8.txt
select t.table_name from all_tables t where t.owner=upper('&用户名');
spool off;
/
这么简单的事,为啥搞那么复杂?另外,你的
if (v_tab_list is null) then
v_tab_list :=vc_tab.table_name;
else
v_tab_list := v_tab_list||','||vc_tab.table_name;
这样会出现重复吧
如果用户名是自定义的话那么应该用in啊
还有
dbms_output.put_line(v_tab_list);

这个不能输出多行的
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ltz1991
2019-02-18
知道答主
回答量:28
采纳率:0%
帮助的人:7.9万
展开全部
块结束end; 后面 加 / 可执行成功
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式