declare @table table (
[SEQ] [INT] NOT NULL,
[MTIME] [DATETIME] NOT NULL,
[ISVALID] [NUMERIC](1, 0) NOT NULL ,
[P_SEQ] [INT] NOT NULL,
[ISS_TYPE] [INT] NOT NULL,
[SEQUENCE] [INT] NOT NULL,
[LOCK_OBJ_NAME] [VARCHAR](100) NULL,
[LOCK_OBJ_CODE] [INT] NULL,
[LOCK_CLS] [INT] NULL,
[LOCK_VOL] [NUMERIC](18, 4) NULL,
[LOCK_BEGIN] [DATETIME] NULL,
[LOCK_PERIOD] [NUMERIC](7, 2) NULL,
[LOCK_END] [DATETIME] NULL,
[LOCK_OBJ_CODE_MARK] [INT] NULL,
[ACT_END_DATE] [DATETIME] NULL,
[ACT_LOCK_VOL] [NUMERIC](18, 4) NULL,
[REMARK] [VARCHAR](400) NULL,
[IF_UNLTD] [INT] NULL,
[TOT_LOCK_VOL] [NUMERIC](18, 4) NULL,
[C_SEQ] [INT] NULL
)
insert into @table
exec tran_C_C..C_STK_LIST_RESULT_2_C_STK_ISS_DETAIL 4127
參考網址:https://blog.csdn.net/easyboot/article/details/78999591
定義一個存儲過程如下:
create proc [ dbo ] . [my test1 ]
@id int
as
select 1 as id, ' abc ' as name union all
select @id as id, ' bcd ' as name
返回兩行數據.
現在想用SQL語句來調用這個存儲過程,並把他返回的表放入變量中.可以如下做:
declare @table table (id int ,name varchar ( 50 )) -- 定義表變量來存放存儲過程返回的內容
insert into @table exec test1 2 -- 將存儲過程執行的結果放入表變量中
select *
from @table -- 查看表變量中的結果
