Как мне создать новую базу данных на SQL Server с уникальным новым именем? - PullRequest
1 голос
/ 15 марта 2012

Я использую Visual Studio 2010 ASP.NET с C # в .NET 4.0 и SQL Server 2008 R2.

Я хотел бы создать базу данных на сервере с именем WINSRV\SQLSRV.

Как выполнить цикл для проверки уникального имени базы данных?

Моя база данных по умолчанию должна быть ab. В случае, если это имя занято, я хотел бы создать базу данных с именем ab1, а если это также будет взято - ab2 и т. Д.

Мне нужно, чтобы он находился на веб-странице, созданной в скрипте Visual Studio 2010 ASP.NET C #, а не в студии управления SQL-сервером.

Спасибо.

Ответы [ 2 ]

1 голос
/ 15 марта 2012
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 # нажмите здесь

0 голосов
/ 15 марта 2012

Вы хотите проверить, существует ли ваш выбор для баз данных:

Вы можете сделать это первичной стороной 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

Надеюсь, это поможет.

...