我并不是特别熟悉存储过程和SQL Server / T-SQL。我想知道是否有办法在不修改存储过程本身的情况下对存储过程返回的列进行别名或重命名。
这是我现在的存储过程调用。
EXEC sp_GetNearbyLocations 38.858907, -77.261358
它返回包含以下列的记录:
State
Zip
Phone
StartDate
Directions
Hours
Latitude
Longitude
Distance
但是我希望它们全部小写而不是驼峰。可悲的是,我不控制存储过程,所以我不能改变它,只是我的呼吁。这在SQL Server 2008中是否可行?
答案 0 :(得分:6)
如果是SQL Server 2012,您可以使用WITH RESULT SETS
功能。
否则这是不可能的,它会要求你将结果插入到某种中间临时表中,然后从中选择。
(您可以在不使用OPEN ROWSET
明确创建临时表的情况下执行此操作)
答案 1 :(得分:0)
您可以编写自己的proc,只需调用另一个,将列别名并返回。
在旁注 - 为什么列名称的情况对您很重要?