如何从存储过程结果中选择一个字段 [英] how to select a field from stored procedure result

查看:98
本文介绍了如何从存储过程结果中选择一个字段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想检索给定表的主键列名

所以我尝试了解决方案

exec [sys]。[sp_primary_keys_rowset] @ table_name ='TEMP_Decisions'

这是一个系统程序

i想知道如何从程序结果中选择一列并让这列COLUMN_NAME

所以我想选择系统程序结果中的一个字段任何人都可以帮我

解决方案

没有这样的东西

  SELECT  Col1,Col2  FROM   EXEC  MY_SP < span class =code-sdkkeyword> @ PRM  =  1  



你有什么do是声明一个临时表,将EXEC的结果插入其中,而不是从该临时表中选择...

 创建  PROC  MY_SP( @ PRM   INT 
AS
SELECT @ PRM AS ONE , 2 * @ PRM AS TWO



  DECLARE   @ RESULT  (ONE  INT ,TWO  INT 

INSERT INTO @RESULT
EXEC MY_SP @ PRM = 1

SELECT ONE FROM @ RESULT


i want to retrieve primary key column name for a given table
so i tried the solution
exec [sys].[sp_primary_keys_rowset] @table_name= 'TEMP_Decisions'
which is a system procedure
i want to know how to select one column from procedure result and let this column COLUMN_NAME
so i want to select a field from system procedure result any one can help me

解决方案

There is no such a thing

SELECT Col1, Col2 FROM EXEC MY_SP @PRM = 1


What you have to do is declare a temporary table, insert the result of the EXEC into it, than select from that temporary table...

CREATE PROC MY_SP (@PRM INT)
AS
  SELECT @PRM AS ONE, 2 * @PRM AS TWO


DECLARE @RESULT TABLE (ONE INT, TWO INT)

INSERT INTO @RESULT
EXEC MY_SP @PRM = 1

SELECT ONE FROM @RESULT


这篇关于如何从存储过程结果中选择一个字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆