选择存储过程返回的列

Vai*_*ain 3 sql t-sql sql-server-2005 dynamic-sql

我有一个存储过程,它返回我约50列.我想编写一个查询,在那里我将能够从SP返回的列列表中选择一个特定的列.

我试着写select RSA_ID from exec(uspRisksEditSelect '1')但是它给我一个错误.我想我们需要为它编写一些动态的sql.但我是新手.

mar*_*c_s 6

您不能直接使用存储过程的结果 - 您需要将其存储到内存或临时表中并从那里开始:

DECLARE @tableVar TABLE (ID INT, Name VARCHAR(50))  -- whatever your sp returns

INSERT INTO @tableVar
    EXEC uspRisksEditSelect '1'

SELECT RSA_ID FROM @tableVar
Run Code Online (Sandbox Code Playgroud)

但绝对没有必要使用动态SQL .....