当前位置: 代码迷 >> Sql Server >> sql自定义一个全局变量,该如何解决
  详细解决方案

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

热度:71   发布时间:2016-04-27 13:22:29.0
sql自定义一个全局变量
--由于年度的变化,我需要修改变量的值,去一个一个的修改 易出错,漏掉
declare @a varchar(10) set @a='2008'
select * from code where [email protected]
go
declare @a varchar(10) set @a='2008'
select * from accinformation_year where [email protected]


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

------解决方案--------------------
更正一下@@开头的不是系统变量,是系统函数。
目前版本的sql server还不能定义系统函数,但是可以用用户自定义函数UDF,可以如下定义:
SQL code
create function dbo.const_year()returns intasbegin   declare @year nvarchar(100);   set @year = '2008';   return @year;end;go