OPENROWSET从存储过程问题中复制列

时间:2015-09-07 19:13:20

标签: sql-server sql-server-2008 tsql stored-procedures openrowset

我在存储过程中使用OPENROWSET(因为存储过程返回未知数量的列)。 OPENROWSET不允许重复列。我的问题是存储过程动态地连接了一些疯狂的表,因此创建了一堆重复的键。关于如何解决这个问题的任何想法?非常感谢你。

1 个答案:

答案 0 :(得分:0)

SQL Server 2012+允许使用EXEC WITH RESULTSETS

EXEC uspGetEmployeeManagers 16
WITH RESULT SETS
( 
   ([Reporting Level] int NOT NULL,
    [ID of Employee] int NOT NULL,
    [Employee First Name] nvarchar(50) NOT NULL,
    [Employee Last Name] nvarchar(50) NOT NULL,
    [Employee ID of Manager] nvarchar(max) NOT NULL,
    [Manager First Name] nvarchar(50) NOT NULL,
    [Manager Last Name] nvarchar(50) NOT NULL )
);

您可以使用碰撞名称的别名。