读书人

sql自定义一个全局变量,该如何解决

发布时间: 2012-04-16 16:20:04 作者: rapoo

sql自定义一个全局变量
--由于年度的变化,我需要修改变量的值,去一个一个的修改 易出错,漏掉
declare @a varchar(10) set @a='2008'
select * from code where iyear=@a
go
declare @a varchar(10) set @a='2008'
select * from accinformation_year where iyear=@a


--我想是想如下功能(自定义一个全局变量)
declare @a varchar(10) set @a='2008' --只定义一次无论下面有多少“go” 都认识这个变量
go
select * from code where iyear=@a
go
select * from accinformation_year where iyear=@a
go

[解决办法]
更正一下@@开头的不是系统变量,是系统函数。
目前版本的sql server还不能定义系统函数,但是可以用用户自定义函数UDF,可以如下定义:

SQL code
create function dbo.const_year()returns intasbegin   declare @year nvarchar(100);   set @year = '2008';   return @year;end;go 

读书人网 >SQL Server

热点推荐