我如何做一個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