我想做以下几点.基本上有一个存储过程调用另一个返回表的存储过程.这是怎么做到的?
ALTER PROC [GETSomeStuff] AS BEGIN @table = exec CB_GetLedgerView @accountId, @fromDate, @toDate, @pageSize, @pageNumber, @filter, @status, @sortExpression, @sortOrder, @virtualCount OUTPUT Select * from @table --Do some other stuff here END
cmsjr.. 22
存储过程的目标必须是临时表或实际表,以便您可以
Insert into #table exec CB_GetLedgerView @accountId, @fromDate, @toDate, @pageSize, @pageNumber, @filter, @status, @sortExpression, @sortOrder, @virtualCount OUTPUT
如果存储过程的输出结果集与目标表中的序号位置和行数不匹配,请指定列列表.
存储过程的目标必须是临时表或实际表,以便您可以
Insert into #table exec CB_GetLedgerView @accountId, @fromDate, @toDate, @pageSize, @pageNumber, @filter, @status, @sortExpression, @sortOrder, @virtualCount OUTPUT
如果存储过程的输出结果集与目标表中的序号位置和行数不匹配,请指定列列表.
至少如上所述,临时表方法对我不起作用。您可以轻松地使用变量。
DECLARE @return_value INT DECLARE @tblOutputTable TABLE(Col1 BIT NOT NULL, Col2 INT NOT NULL) INSERT INTO @tblOutputTable EXEC @return_value = [dbo].[SomeSp] @Param1 = 15, @Param2 = 2