Как изменить / переименовать имя базы данных в SQL?

Это не работает, потому что HTML5 не допускается. Кнопка не может содержать интерактивный контент.

http://www.w3.org/TR/2011/WD-html5-20110525/the-button-element.html#the-button- element

Вы можете добавить обработчик события onClick к кнопке, чтобы перенаправить его на http://www.google.com . Обратите внимание, что следующий фрагмент кода не работает, поскольку он выполняется внутри iframe, чей атрибут песочницы не позволяет всплывать. Проверьте консоль, чтобы увидеть ошибку.

Проверьте этот JSFiddle, чтобы увидеть приведенный выше фрагмент кода: http: // jsfiddle.net/ua9m156c/.

В качестве альтернативы вы можете обернуть тэг a внутри стили div, чтобы он выглядел как button.

.button {
    display:inline-block;
    color:#444;
    border:1px solid #CCC;
    background:#DDD;
    box-shadow: 0 0 5px -1px rgba(0,0,0,0.2);
    cursor:pointer;
    vertical-align:middle;
    max-width: 100px;
    padding: 5px;
    text-align: center;
}
.button:active {
    color:red;
    box-shadow: 0 0 5px -1px rgba(0,0,0,0.6);
}
div.button a{
  text-decoration: none;
  color: initial;
}
div.button a:visited{
  text-decoration: none;
  color: initial;
}

Проверьте этот JSFiddle, чтобы увидеть приведенный выше фрагмент кода: http://jsfiddle.net/jo8Lqc15/ .

-1
задан goofyui 18 January 2019 в 22:08
поделиться

2 ответа

DECLARE @SQLString nvarchar(500);  
DECLARE @OldDbName nvarchar(100);
DECLARE @NewDbName nvarchar(100);

SET @OldDbName =  'MyTestDatabase';
SET @NewDbName =  'MyNewTestDatabase';
BEGIN TRY

        SET @SQLString =  
                    N'ALTER DATABASE ' +  @OldDbName + ' SET SINGLE_USER WITH ROLLBACK 
IMMEDIATE'; 
        EXECUTE sp_executesql @SQLString

        SET @SQLString =  
                    N'ALTER DATABASE ' +  @OldDbName + ' MODIFY NAME = ' + @NewDbName;
        EXECUTE sp_executesql @SQLString            

        SET @SQLString =  
                    N'ALTER DATABASE ' +  @NewDbName + ' SET MULTI_USER' ;
        EXECUTE sp_executesql @SQLString

END TRY
BEGIN CATCH
    PRINT ERROR_MESSAGE();

END CATCH 
0
ответ дан Emilio Lucas Ceroleni 18 January 2019 в 22:08
поделиться

Вы должны сделать это как динамический SQL.

Declare @dbname nvarchar(50)
set @dbname = 'MyDatabase_Test'

EXEC('ALTER DATABASE MyDatabase MODIFY NAME = ' + @dbname);
0
ответ дан Joe Stefanelli 18 January 2019 в 22:08
поделиться