Dalam SQL Server, adalah mungkin untuk mencipta pangkalan data secara dinamik menggunakan parameter untuk menentukan lokasi data dan fail log. Walau bagaimanapun, pendekatan awal anda mengakibatkan ralat yang berkaitan dengan penggunaan pembolehubah dalam pernyataan CREATE DATABASE.
Untuk mengatasi had ini, anda boleh menggunakan SQL dinamik, yang membolehkan anda membina dan melaksanakan pernyataan SQL secara pemrograman. Begini cara anda boleh mencapai objektif anda:
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)
Pendekatan ini menggunakan fungsi quotename() untuk memetik nilai pembolehubah dengan betul dalam pernyataan SQL dinamik. Perintah EXEC kemudian melaksanakan pernyataan yang dibina, membolehkan anda mencipta pangkalan data dan menentukan laluan fail yang dikehendaki.
Atas ialah kandungan terperinci Bagaimana untuk Membuat Pangkalan Data Pelayan SQL Secara Dinamik Menggunakan Parameter?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!