1

我在 .NET 4.0 和 SQL Server 2008 R2 上使用 Visual Studio 2010 ASP.NET 和 C#。

我想在名为WINSRV\SQLSRV.

如何循环测试唯一的数据库名称?

我的默认数据库应该是ab. 如果这个名字被使用,我想创建一个名为 的数据库ab1,如果这个名字也被使用 -ab2等等。

我需要它从在 Visual Studio 2010 ASP.NET C# 脚本中创建的网页中朗姆酒,而不是从 SQL 服务器管理工​​作室中朗姆酒。

谢谢。

4

2 回答 2

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# 工作,请单击此处

于 2012-03-15T18:50:49.763 回答
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

希望这可以帮助。

于 2012-03-15T18:38:49.200 回答