不知道你有没有这个苦恼:在SQL Server 2000上写出的批处理明明可以运行,在 SQL Server 2005上却不可以运行.
看看下面的代码吧,你可能有一些想法吧.
Blog http://hi.baidu.com/passedbylove--------------------------------------------------------------------------------------------------------------------
--系统数据库表
declare @Systemdatabase varchar(13)
--系统表
declare @SystemTable varchar(13)use master
if charindex('2005',@@version)=22
begin
print '你的数据库是SQL Server 2005的'
if charindex('2000',@@version)=0
begin
set @Systemdatabase='sys.databases'
set @SystemTable='sys.objects'
print '非SQL Server 2000'
if not exists(select name from sys.databases where name='demo')
create database demo
else
print '数据库文件demo已经存在'
end
end
else
begin
if(charindex('2000',@@version))=23
begin
set @Systemdatabase='sysdatabases'
set @SystemTable='sysobjects'
print '你的数据库是SQL Server 2000的'
if not exists(select name from sysobjects where name='demo')
create database demo
else
print '数据库文件demo已经存在'
end
end
print '当前数据库,存储数据库名的表为+@Systemdatabaseprint '当前数据库,存储用户名的表为'+@SystemTable代码2---------------------------------------------------------------------------------------------
/*==============================================
版本标识符经测试
SQLServer 2005 返回字符串2005索引值为22
SQLServer 2005 返回字符串2005索引值为23
================================================*/
declare @versionIdentifier varchar(4)set @versionIdentifier=
case charindex('2000',@@version)
when 22 then '2005'
When 23 then '2000'
endprint '你的数据库是 SQL Server '+@versionIdentifier