大家好,有个问题想请教,代码如下
CREATE PROCEDURE dbo.P_PRODUCT_LOG_SATIS_RATE
@adminDeptID numeric(12), @beginDate varchar(10), @endDate varchar(10),@result table output
AS
BEGIN
print('ok')
END
GO
编译出错,谁知道怎么回事啊?我主要是想把一个table类型的变量作为输出,该怎么写,谢谢。
...全文
14114打赏收藏
存储过程中的TABLE参数
大家好,有个问题想请教,代码如下 CREATE PROCEDURE dbo.P_PRODUCT_LOG_SATIS_RATE @adminDeptID numeric(12), @beginDate varchar(10), @endDate varchar(10),@result table output AS BEGIN print('ok') END GO 编译出错,谁知道怎么回事啊?我主要是想把一个table类型的变量作为输出,该怎么写,谢谢。
--方式一 (使用表變量)
-- drop function dbo.return_person_info1
create function dbo.return_person_info1 ( @person_no numeric(5) )
returns @person_table table
(
person_no numeric(5),
person_name varchar(8),
sex varchar(2),
degree varchar(8),
home_addr varchar(60)
)
as
begin
--插入數據至表變量
insert into @person_table(person_no,person_name,sex,degree,home_addr)
select person_no,person_name,sex,degree,home_addr
from person
where person_no=@person_no
return
end
go
-- 測試語句
-- select * from dbo.return_person_info1(500)
--方式二(直接用 return 返回)
-- drop function dbo.return_person_info2
create function dbo.return_person_info2 ( @person_no numeric(5) )
returns table
as
--插入數據至表變量
return
(select person_no,person_name,sex,degree,home_addr
from person
where person_no=@person_no
)
go
-- 測試語句
-- select * from dbo.return_person_info2(500)
--插入記錄
-- insert into 表(字段...)
-- select 對應字段... from dbo.return_person_info2(500)