放分,存储过程中的参数有何限制
我想既当输入参数使用,也想当输出参数使用,可以这样用吗?另外是不是输出参数一定要在最后面,有没有限制的,谢谢 问题点数:100、回复次数:11Top
1 楼aw511(点点星灯)回复于 2006-11-04 16:20:38 得分 10
create procedure yourP
@inp int ,@outp int output
as
set @outp=@inp+100
return @inp
-------
declare @tt int,@oo int
exec @tt=yourP 1,@oo output
print @tt
print @oo
--楼主说的情况都没有限制,
我想既当输入参数使用,也想当输出参数使用,可以这样用吗?
可以,注意输入的值和输出的值也许不同(通过了计算)Top
2 楼hellowork(一两清风)回复于 2006-11-04 16:23:05 得分 10
if object_id('spTest') is not null
drop proc spTest
GO
----创建测试存储过程
create proc spTest @inout varchar(10) output
as
select @inout
set @inout = 'Hello'
GO
----执行存储过程
declare @str varchar(10)
set @str = 'OK!'
EXEC spTest @str output
select @str
----清除测试环境
drop proc spTest
/*结果1
OK!
*/
/*结果2
Hello
*/Top
3 楼visualcdotnet(missing connection or connectionstring)回复于 2006-11-04 16:24:13 得分 0
无法在 sysdepends 中添加当前存储过程所对应的行,因为缺少该存储过程所依赖的对象 'yourP'。仍将创建该存储过程。Top
4 楼marco08(天道酬勤)回复于 2006-11-04 16:25:50 得分 10
create proc powerTest @param int output
as
select @param=power(@param, 2)
return
go
--执行
declare @i int
set @i=5
exec powerTest @param=@i output
select @i
Top
5 楼callzjy((草魚))回复于 2006-11-04 16:26:28 得分 10
create procedure yourP
@inp int ,@outp int output
as
set @outp=@inp+100+@outp
return @inp
go
-------
declare @tt int,@oo int
set @oo=9
exec @tt=yourP 1,@oo output
print @tt
print @ooTop
6 楼aw511(点点星灯)回复于 2006-11-04 16:26:35 得分 10
create procedure yourP
@inp int ,@outp int output
as
set @outp=@inp+100
--return @inp
go
-------
declare @tt int,@oo int
exec @tt=yourP 1,@oo output
print @tt
print @oo
drop procedure yourP
go
Top
7 楼aw511(点点星灯)回复于 2006-11-04 16:26:55 得分 10
create procedure yourP1
@inoutp int output
as
set @inoutp=@inoutp+100
return @inoutp
go
-------
declare @tt int
set @tt=5
print @tt
exec @tt=yourP1 @tt output
print @tt
drop procedure yourP1
go
--对比着两个Top
8 楼callzjy((草魚))回复于 2006-11-04 16:29:05 得分 10
create procedure yourP
@outp int output ,@inp int
as
set @outp=@inp+100+@outp
return @inp
go
-------
declare @tt int,@oo int
set @oo=9
exec @tt=yourP @oo output,1
print @tt
print @ooTop
9 楼marco08(天道酬勤)回复于 2006-11-04 16:29:24 得分 10
注意执行存储过程时
1、写出参数名称后可以不按参数定义时的顺序
2、按照位置传递,而不是命名参数名称Top
10 楼bimyboy(★浩天雪狐★)回复于 2006-11-04 16:52:31 得分 10
MARKTop
11 楼yjlhch(爱拼才会赢)回复于 2006-11-04 18:45:30 得分 10
学习Top




