简单一点说就是带有output标识的参数在存储过程中的修改将被保存。如果不带,那么当存储过程运行结束后,对参数的修改将消失。如果用编程语言来形容的话,就是类似于值传递参数与地址传递参数一样的方式。
create proc lihan(@parameter varchar(20) )
as
set @parameter=@parameter+'lihan'
go
declare @i varchar(100)
set @i='test';
exec lihan @i
select @i
----------------------------------------------------------------------------------------------------
test
(所影响的行数为 1 行)
create proc lihan(@parameter varchar(20) output)
as
set @parameter=@parameter+'lihan'
go
declare @i varchar(100)
set @i='test';
exec lihan @i output
select @i
----------------------------------------------------------------------------------------------------
testlihan
(所影响的行数为 1 行)