1

.NET 4.0 および SQL Server 2008 R2 で C# を使用して Visual Studio 2010 ASP.NET を使用しています。

という名前のサーバーにデータベースを作成したいと考えていますWINSRV\SQLSRV

一意のデータベース名をテストするためにループするにはどうすればよいですか?

デフォルトのデータベースはab. この名前が使用された場合は、という名前のデータベースを作成したいと思います。これab1も使用された場合は、などab2です。

SQL サーバー管理スタジオからではなく、Visual Studio 2010 ASP.NET C# スクリプトで作成された Web ページからラムする必要があります。

ありがとう。

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 に答える