免费注册 查看新帖 |

Chinaunix

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

十万火急,INFORMIX存储过程的问题,大家帮个忙! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-07-22 22:40 |只看该作者 |倒序浏览
给单位开发一个小程序,由于需要把两张表的某些记录放在一张临时表中进行统计,由于Query对象不支持这种建临时表的SQL(提示无法获得指针),所以考虑用存储过程来获得一张临时表,现在我不想传入参数在存储过程中生成语句(因为需要传递的参数很多),所以想把用户的输入先动态生成一个SQL语句,然后把整个SQL语句传递给存储过程,再在存储过程执行此语句,请问存储过程支持这种参数传递吗? 急啊,不然就只有老老实实地传递N多参数进去,再生成SQL,好麻烦啊~

论坛徽章:
0
2 [报告]
发表于 2005-07-22 23:10 |只看该作者

十万火急,INFORMIX存储过程的问题,大家帮个忙!

快帮我看看啊,大哥们,还等着米下锅啊~

论坛徽章:
0
3 [报告]
发表于 2005-07-23 14:27 |只看该作者

十万火急,INFORMIX存储过程的问题,大家帮个忙!

SPL能办到的SQL一样可以,不能自己把问题搞复杂啦!
具体说说看看

论坛徽章:
0
4 [报告]
发表于 2005-07-23 15:00 |只看该作者

十万火急,INFORMIX存储过程的问题,大家帮个忙!

spl好像不能传入动态sql语句吧?
例如table,column什么的事先都得确定的。

论坛徽章:
0
5 [报告]
发表于 2005-07-23 16:29 |只看该作者

十万火急,INFORMIX存储过程的问题,大家帮个忙!

这个简单,你可以先在应用程序如delphi里拼成一
句包含很多参数据的SQL,然后把这个SQL用query提
交。这个SQL的作用是生成一个临时表,目的是要在
存储过程里访问这个临时表。

论坛徽章:
0
6 [报告]
发表于 2005-07-23 23:35 |只看该作者

十万火急,INFORMIX存储过程的问题,大家帮个忙!

现在关键是Tquery对象的SQL属性根本不能execute形如这样的sql:"select a.col1,b.col2 from a,b where a.id=b.id into temp tmp1",提示无法获得指针,怀疑用Tquery对象不能生成临时表,这个语句只能在存储过程中执行,现在关键的问题是,假如上面的SQL语句在Delphi已经形成了,我要把这条语句传入存储过程,再在存储过程中执行,具体怎么传?在存储过程中怎么来执行这条语句?

论坛徽章:
0
7 [报告]
发表于 2005-07-24 13:23 |只看该作者

十万火急,INFORMIX存储过程的问题,大家帮个忙!

没有描述清楚,在建临表时,应该是你的SQL有问题。

论坛徽章:
0
8 [报告]
发表于 2005-07-24 14:00 |只看该作者

十万火急,INFORMIX存储过程的问题,大家帮个忙!

我试了一下,用最简单的语句"select * from A where id=1 into temp tmp1"都无法执行啊! 是不是delphi的Tquery中不能建临时表啊?

我的意思很简单啊,我就想把"select * from A where id=1 into temp tmp1"这整条sql传递给存储过程,然后在存储过程中来执行,怎么做?

论坛徽章:
0
9 [报告]
发表于 2005-07-24 22:26 |只看该作者

十万火急,INFORMIX存储过程的问题,大家帮个忙!

假设在delphi已经形成str1="select * from A where id=1 into temp tmp1" ,接下来用存储过程接受str1的传入,然后在存储过程中用EXEC SQL EXECUTE str1就可以实现了,好像Execute immediate str1也可以
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP