当前位置:  开发笔记 > 数据库 > 正文

在SELECT语句中执行存储过程

如何解决《在SELECT语句中执行存储过程》经验,为你挑选了1个好方法。

对于一个实例我是一个select语句,它返回1000行.我需要为select语句返回的每一行执行一个特定的存储过程.

你有什么想法我怎么能这样做?



1> David M..:

在您的选择中构造EXECUTE语句,如下所示:

SELECT 'EXEC sp_whatever ' + parameter stuff
FROM   your_table

然后运行结果!或者,将结果粘贴到电子表格包中,并使用字符串连接来构造EXEC语句 - 只需创建一个公式并将其粘贴到1,000行.我个人更喜欢第一种方法.

为了阐明"参数内容",请以存储过程为例,该过程采用int您想要从列中获取的两个参数your_table.你会有这样的事情:

SELECT 'EXEC sp_whatever ' + CAST(field1 AS varchar) + ', ' + CAST(field2 AS varchar)
FROM    your_table

不是需要小心这里的字符串字段 - 您运行的不慎露出自己到自己的SQL注入攻击,与任何SQL字符串连接的风险.

我正在阅读你的"实例",因为"这是一次性的任务".如果这是一项需要自动化的任务,那么其他答案之一可能是正确的方法.

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有