免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3504 | 回复: 3
打印 上一主题 下一主题

【询问】DB2 如何运行一个写在变量中的sql语句? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-08-23 18:28 |只看该作者 |倒序浏览
比如我定义了一个变量 temp
set temp = 'select * from test';

在SQL Server 中可以 exec temp

但是在DB2下,该怎么用呢?


我在尝试了
(PREPARE s1 FROM temp;EXECUTE IMMEDIATE s1;)

或者
(EXECUTE IMMEDIATE s1)

都不行呀

请问怎么回事呀 ?


谢谢

论坛徽章:
0
2 [报告]
发表于 2007-08-23 22:14 |只看该作者
使用动态sql可以满足你的要求。将EXECUTE IMMEDIATE s1;改成execute s1;

论坛徽章:
0
3 [报告]
发表于 2007-08-23 23:23 |只看该作者
这个或许可以有帮助:
http://www.mydb2.cn/viewtopic.php?t=292

论坛徽章:
0
4 [报告]
发表于 2007-08-24 09:49 |只看该作者

回复 #2 神呐救救我 的帖子

我的命令这样写的:

connect to TESTDB@

Drop table TEST@

CREATE TABLE TEST (NUMBER INT)@

Begin ATOMIC
  declare temp varchar(100);
  set temp = 'select * from test';
  
  exec temp;       //或者 prepare s1 from temp; execute s1;

END@

运行都会出错,说不是有效的命令处理器命令
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP