我正在研究SQL Server 2005数据库,我正在尝试将表变量从一个存储过程传递到另一个存储过程。下面是表格的结构和我的尝试。
@MyTable
EmployeeID FirstName LastName
1 Dummy Last
2 Some Name
我尝试将表转换为XML并将XML作为参数传递给新SP。
SELECT * FROM @MyTable FOR XML AUTO
结果
<_x0040_MyTable EmployeeID="1" FirstName="Dummy" LastName="Last" />
<_x0040_MyTable EmployeeID="2" FirstName="Some" LastName="Name" />
但是,从这个XML转换回表格对于我的SQL知识水平来说变得太复杂了。我在正确的道路上吗?有一个简单的方法吗?
注意 - 我看过一些建议使用#temp表的帖子,我不想使用该解决方案。我想使用@MyTable参数。
答案 0 :(得分:0)
Erland Sommarskog是你的朋友。以下链接提供了一个显示选项的表格。对于SQL Server 2005,TVF不是一个选项。您可能需要使用XML或临时表来共享数据。我知道你说这两个对你来说是最不可取的选择,但对于2005年,我认为它们是最合适的。