在 SQL Server 中,可以使用參數來指定資料和日誌檔案的位置來動態建立資料庫。但是,您最初的方法導致了與 CREATE DATABASE 語句中變數的使用相關的錯誤。
要克服此限制,您可以使用動態 SQL,它允許您以程式設計方式建構和執行 SQL 語句。以下是實現目標的方法:
DECLARE @DataFilePath AS NVARCHAR(MAX) SET @DataFilePath = N'C:\ProgramData\Gemcom\' DECLARE @LogFilePath AS NVARCHAR(MAX) SET @LogFilePath = N'C:\ProgramData\Gemcom\' -- Construct the dynamic SQL statement SELECT @sql = 'CREATE DATABASE TestDB ON PRIMARY ( NAME = ''TestDB_Data'', FILENAME = ' + quotename(@DataFilePath) + ') LOG ON ( NAME = ''TestDB_Log'', FILENAME = ' + quotename(@LogFilePath) + ')' -- Execute the dynamic SQL statement EXEC (@sql)
此方法使用 quotename() 函數正確引用動態 SQL 語句中的變數值。然後 EXEC 命令執行建構的語句,允許您建立資料庫並指定所需的檔案路徑。
以上是如何使用參數動態建立SQL Server資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!