对于一个实例我是一个select语句,它返回1000行.我需要为select语句返回的每一行执行一个特定的存储过程.
你有什么想法我怎么能这样做?
在您的选择中构造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字符串连接的风险.
我正在阅读你的"实例",因为"这是一次性的任务".如果这是一项需要自动化的任务,那么其他答案之一可能是正确的方法.