CREATE TABLE #AspstateVer
(
c1 INT,
c2 CHAR(100),
c3 CHAR(100),
version CHAR(100)
)INSERT INTO #AspstateVer
EXEC master..xp_msver ProductVersionDECLARE @version CHAR(100)
DECLARE @dot INTSELECT @version = version FROM #AspstateVer
SELECT @dot = CHARINDEX('.', @version)
SELECT @@ver = CONVERT(INT, SUBSTRING(@version, 1, @dot-1))
GO 一运行就说我@@ver 没有定义?在哪里定义啊?
(
c1 INT,
c2 CHAR(100),
c3 CHAR(100),
version CHAR(100)
)INSERT INTO #AspstateVer
EXEC master..xp_msver ProductVersionDECLARE @version CHAR(100)
DECLARE @dot INTSELECT @version = version FROM #AspstateVer
SELECT @dot = CHARINDEX('.', @version)
SELECT @@ver = CONVERT(INT, SUBSTRING(@version, 1, @dot-1))
GO 一运行就说我@@ver 没有定义?在哪里定义啊?
--这里懂怎么定义..在哪定义..@@ver就不知道怎么定义..在哪定义?...
DECLARE @version CHAR(100)
DECLARE @dot INT
declare @ver int
SELECT @version = version FROM #AspstateVer
SELECT @dot = CHARINDEX('.', @version)
SELECT @ver = CONVERT(INT, SUBSTRING(@version, 1, @dot-1))
你的SELECT @ver = CONVERT(INT, SUBSTRING(@version, 1, @dot-1)) 这句话出错了,
凡是带有两个@符号为全局变量,这是由系统自带的,用户不可以自定义,用户只可以定义局部变量,
局部变量的定义是一个@符号和变量名[比如:@aa @cc @ee].全局变量和局变量区别在于:
1.全局是系统自带的,是封装好的,用户不可以自定义,只有使用权.
2.局部变量是由用户自定义,自己使用,当然也可以随便定义,要符合sql定义变量的规则.