执行我的存储过程后,将返回以下列:
但我想将这些列名更改为:
你能帮忙吗?
答案 0 :(得分:3)
由于您没有提及该版本,因此我假设您拥有SQL Server 2012+版本。您可以使用WITH RESULT SETS属性来更改输出列名称
示例强>:
CREATE PROCEDURE SP_Test
AS
BEGIN
SELECT 1 AS 'ColA', 2 AS 'ColB'
END
现在,您可以使用 WITH RESULT SETS 属性
更改列名称 EXEC SP_Test
EXEC SP_Test WITH RESULT SETS(
(New_Col1 INT,
NEW_Col2 INT))
如果您使用的是旧版本的SQL Server,则可以将存储过程结果集转储到临时表或表变量中,然后您可以为名称添加别名(来自上面的示例)
DECLARE @Mytest TABLE (New_Col1 INT, New_Col2 INT)
INSERT INTO @Mytest EXEC Sp_Test
SELECT * FROM @Mytest
答案 1 :(得分:0)
使用动态sql下面的列别名:
declare @q nvarchar(max)
set @q ='select bkt1 as ' + @ipfromuser +' from table1'
exec(@q)