Dev*_*per 21 sql t-sql select stored-procedures
是否可以为SELECT运算符(MS SQL SERVER)执行类似"表"的存储过程?
就像是
SELECT TotalSum FROM exec MyStoreProcedure '2011/11/01', '2011/11/01'
Run Code Online (Sandbox Code Playgroud)
我的意思是以某种方式将它集成到SELECT运营商?
谢谢!
多谢你们!
我所做的解决方案基于你的答案:
declare @result table (f1 varchar(20),f2 varchar(20), CodProducto int, NomProducto varchar(1000), Costo decimal, Cantidat int, Total decimal)
INSERT INTO @result exec MyStoreProcedure '20111201', '20111201'
select * from @result
Run Code Online (Sandbox Code Playgroud)
Die*_*ego 20
我猜你的proc会返回几列而你只想要一个,对吧?
小的解决方法是将proc的结果添加到表变量,然后从中进行选择
create proc proc1 as
select 1 as one, 2 as two
declare @result table (one int, two int)
insert into @result
exec proc1
select one from @result
Run Code Online (Sandbox Code Playgroud)
这作为函数而不是存储过程会更好.
create function dbo.TestTable
(@var1 bit)
returns table
AS
RETURN
( select *
from INFORMATION_SCHEMA.TABLES
where @var1 = 1
);
select * from
dbo.TestTable(1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
60750 次 |
| 最近记录: |