
Dans SQL Server, il est possible de créer dynamiquement une base de données à l'aide de paramètres pour spécifier l'emplacement des données et des fichiers journaux. Cependant, votre approche initiale a entraîné une erreur liée à l'utilisation de variables dans l'instruction CREATE DATABASE.
Pour surmonter cette limitation, vous pouvez utiliser du SQL dynamique, qui vous permet de construire et d'exécuter des instructions SQL par programme. Voici comment vous pouvez atteindre votre objectif :
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)
Cette approche utilise la fonction quotename() pour citer correctement les valeurs des variables dans l'instruction SQL dynamique. La commande EXEC exécute ensuite l'instruction construite, vous permettant de créer la base de données et de spécifier les chemins de fichiers souhaités.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
Ripple a-t-il toujours une valeur d'investissement ?
Solution en cas d'échec de session
Qu'est-ce que le courrier électronique
La différence entre le masquage et le démasquage des caractères génériques
Que sont les plug-ins jquery ?
tutoriel d'exécution de code c++
Solution au rapport Java indiquant que les entrées du chemin de construction sont vides
Quelles sont les méthodes pour empêcher l'injection SQL ?