Ich möchte Datenbanken beginnend mit 'NAV'in einer MS SQL DB erkennen. Ich versuchte es mit diesem Code:SQL-Fehler - Falsche Syntax in der Nähe des Schlüsselwortes 'Datenbank'
DECLARE @DBName NVARCHAR(MAX);
SET @DBName = (SELECT name FROM master.dbo.sysdatabases where name LIKE '%NAV%');
EXECUTE ('USE' + @DBName);
Aber ich habe die Fehlermeldung:
Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'Database'.
Sie wissen, was es falsch ist?
tun Sie dies ... 'deklarieren @sql varchar (4000) = ('USE' + @DBName); Drucken Sie (@sql) 'und Sie werden sehen, dass Sie ein Leerzeichen auf einem Minimum benötigen (vorausgesetzt, dass die Abfrage nur ein Ergebnis zurückgibt). Es ist immer gut, den dynamischen SQL auszudrucken, bevor Sie ihn ausführen, damit Sie sehen können, was gerade ausgeführt wird. – scsimon
Verwenden Sie 'sa', um diese Abfrage auszuführen? – Alfabravo
Obligatorischer Link für dynamische SQL-Fragen für SQL Server: http://www.sommarskog.se/dynamic_sql.html –