我如何做一个T-SQL存储过程返回该SELECT语句的(表格)结果:T-SQL存储过程返回表
USE automation
SELECT insurer.name,
insurer.case_name,
contact.name,
contact_address.line_1,
contact_address.city,
state.state_abbr,
contact_address.zip
FROM person as insurer
INNER JOIN persons_relationship on persons_relationship.person2_id = insurer.person_id
INNER JOIN person contact on contact.person_id = persons_relationship.person_id
INNER JOIN person_address contact_person_address on contact_person_address.person_id = contact.person_id
INNER JOIN address contact_address on contact_address.address_id = contact_person_address.address_id
INNER JOIN state on state.state_id = contact_address.state_id
insurer.person_class_id = 2
我很好奇你为什么选择在'EXEC dbo.YourProcedureNameHere'上面使用'sp_executesql'。有充分的理由,还是只有个人喜好? – 2013-02-12 06:00:52
@Cory:这是做这件事的首选方式,因为它可以让你指定存储过程的参数(这里当然没有)。请参阅[Kimberly Tripp关于EXEC和sp_executesql如何不同的博客文章](http://www.sqlskills.com/blogs/kimberly/exec-and-sp_executesql-how-are-they-different/)以及为什么'sp_executesql'是首选的方式 – 2013-02-12 06:02:14
我习惯于在某些数据映射程序和其他ORM中看到'sp_executesql',但我从来没有想过在基本存储过程执行中彻底使用它。谢谢你的提示! – 2013-02-12 06:09:01