我在.NET 4.0和SQL Server 2008 R2上使用带有C#的Visual Studio 2010 ASP.NET。
我想在名为WINSRV\SQLSRV
的服务器上创建一个数据库。
如何循环测试唯一的数据库名称?
我的默认数据库应为ab
。如果这个名字被采用,我想创建一个名为ab1
的数据库,如果这个数据库也被采用 - ab2
等等。
我需要它来自在Visual Studio 2010 ASP.NET C#脚本中创建的网页,而不是来自SQL Server管理工作室。
感谢。
答案 0 :(得分:1)
Declare @Iteration int
Set @Iteration = 0
Declare @DBName varchar(100)
while(@Iteration <> -1)
begin
if(@Iteration = 0)
Set @DBName = 'ab'
Else
Set @DBName = 'ab' + Convert(varchar, @Iteration)
IF NOT EXISTS(select Object_Id from sys.databases where name = 'ab')
Begin
Exec('create database ' + @DBName)
return;
End
Else
Begin
Set @Iteration = @Iteration + 1
End
End
修改强>
要从C#工作,请点击 here
答案 1 :(得分:0)
您需要检查您的数据库选择是否存在:
你可以这样做主要的SQL端:
IF (EXISTS (SELECT name FROM master.sys.databases WHERE name = 'ab')))
--Do what you need to do
或者您可以获取列表数据库并检查.net端:
SELECT name FROM master.sys.databases
希望这会有所帮助。