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

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

2012-04-16 
sql自定义一个全局变量--由于年度的变化,我需要修改变量的值,去一个一个的修改 易出错,漏掉declare @avarc

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 

热点排行