我有一个返回4个结果集的存储过程。结果集有很多列。
从每个结果集中创建表的最佳方法是什么?表中的数据类型和模式应与结果集中的数据类型和模式相同。
我知道我可以这样做从选择中创建一个表:
CREATE TABLE TABLE_NAME
AS SELECT * FROM USERS
那么有没有办法从存储过程执行中选择结果集?
答案 0 :(得分:1)
虽然这主要是在聊天中涵盖的,但对于可能想知道同样事情的其他人来说,它应该仍然有答案。
从T-SQL上下文中访问特定结果集的唯一方法是通过SQLCLR。使用C#,VB.Net或任何.Net语言,您可以使用SqlDataReader
来分别访问结果集。
SQLCLR proc只是执行现有的T-SQL proc并且可以吐出一个结果集(假设输入参数指定哪一个作为结果集返回)或可以执行一个单独的连接,并直接调用INSERT语句同时执行所有4个(虽然在那时它也可以是一个控制台应用程序或Windows窗体或其他)。