CREATE proc proc_InAndOut
(
@outParam int output,
@inParam nvarchar(50)
)
as
if exists(select * from Student where StudentName=@inParam)
begin
set @outParam=1;
end
else
begin
set @outParam=0;
end
GO
(
@outParam int output,
@inParam nvarchar(50)
)
as
if exists(select * from Student where StudentName=@inParam)
begin
set @outParam=1;
end
else
begin
set @outParam=0;
end
GO
带输入参数,返回数据表的存储过程
CREATE proc proc_getDataReader
(
@StudentName nvarchar(50),
@inParam nvarchar(50)
)
as
if exists(select * from Student where StudentName=@inParam)
begin
select * from Student
end
else
begin
select StudentName from Student
end
GO
(
@StudentName nvarchar(50),
@inParam nvarchar(50)
)
as
if exists(select * from Student where StudentName=@inParam)
begin
select * from Student
end
else
begin
select StudentName from Student
end
GO
在查询分析器中执行带输出参数的存储过程
--declare @inParam nvarchar(50)--输入参数无需定义
declare @outParam int--输出参数必须定义
--这里的参数次序与存储过程的参数次序要一致.
exec proc_InAndOut @outParam output,@inParam='tree'
select @outParam
declare @outParam int--输出参数必须定义
--这里的参数次序与存储过程的参数次序要一致.
exec proc_InAndOut @outParam output,@inParam='tree'
select @outParam
上面的代码可以这样去理解和实现:
declare @str int--输出参数必须定义
--这里的参数次序与存储过程的参数次序要一致.
exec proc_InAndOut @outParam=@str output,@inParam='tree'
--或简写成
exec proc_InAndOut @str output,@inParam='tree'
--或简写成
exec proc_InAndOut @str output,'tree'
select @str
--这里的参数次序与存储过程的参数次序要一致.
exec proc_InAndOut @outParam=@str output,@inParam='tree'
--或简写成
exec proc_InAndOut @str output,@inParam='tree'
--或简写成
exec proc_InAndOut @str output,'tree'
select @str
在查询分析器中执行带输入参数,返回数据行的存储过程
exec proc_getDataReader @StudentName='jianbao',@inParam='tree'
--也可简写成如下形式
exec proc_getDataReader 'jianbao','tree'
--也可简写成如下形式
exec proc_getDataReader 'jianbao','tree'