我使用動態SQL創建數據庫表的動態SQL 「使用[DB]」 沒有奏效
這是SQL腳本
DECLARE @DatabaseName VARCHAR(50) = N'test';
EXECUTE ('CREATE DATABASE [' [email protected]+']');
EXECUTE('USE ' + @DatabaseName)
GO
CREATE SCHEMA [Framework]
GO
錯誤,我得到
Msg 2714, Level 16, State 6, Line 1
There is already an object named 'Framework' in the database.
Msg 2759, Level 16, State 0, Line 1
CREATE SCHEMA failed due to previous errors
。
這個錯誤,因爲EXECUTE( '使用' + @DatabaseName)無法正常工作
我嘗試使用
SET @SQL02 = 'USE ['+ convert(nvarchar(50),@DatabaseName) +']; SELECT DB_NAME();'
exec sp_executesql @SQL02
但不起作用
我能做些什麼?
標記您正在使用的dbms。 (也許SQL-Server?) – jarlh
我用SQL版本2012 – Jala
執行在自己的實例中運行。您應該在'USE'的同一個EXECUTE命令中執行所有操作才能正常工作。 –
Jens