例如,我有一个 select 语句,它返回 1000 行。我需要为 select 语句返回的每一行执行特定的存储过程。
你知道我该怎么做吗?
在您的 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 字符串连接一样。
我将你的“例如”读作“这是一项一次性任务”。如果这是一项需要自动化的任务,那么其他答案之一可能是正确的方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)