我在存储过程中使用OPENROWSET(因为存储过程返回未知数量的列)。 OPENROWSET不允许重复列。我的问题是存储过程动态地连接了一些疯狂的表,因此创建了一堆重复的键。关于如何解决这个问题的任何想法?非常感谢你。
答案 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 )
);
您可以使用碰撞名称的别名。