首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql函数怎么改变传入参数的值

2012-01-21 
sql函数如何改变传入参数的值如下函数:CREATEFUNCTIONaddNumber(@aint,@bint)RETURNSintASBEGINset@a@a+@

sql函数如何改变传入参数的值
如下函数:
CREATE   FUNCTION   addNumber
(
@a   int,@b   int
)
RETURNS   int
AS
BEGIN
set   @a=@a+@b
RETURN   @a

END


declare   @a   int,@b   int;
set   @a=2;
set   @b=3;
print   dbo.addNumber(@a,@b)
print   @a

我的想法是让变量@a传入函数执行后,的结果应该变成5而不是保持2不变,是不是还需要什么关键字申明一下@a是个引用类型呢?就象c#的   ref,out关键字一样??
请帮我实现我要的结果,谢谢

[解决办法]
函数里的@a和外面的@a,内存地址是不一样的,是不同的变量。

函数里的@a只在函数内部有效。
[解决办法]
declare @a int,@b int;
set @a=2;
set @b=3;
print dbo.addNumber(@a,@b)
print @a

这个应该是跟C里面的函数差不多吧,你是传值过去的,改变后,不会改变原变量的值。除非传地址,才能在改变函数里变量值的同时,也更改原变量的值
SQL里面不存在这种内存关系吧?

热点排行