Ich möchte diese Abfrage ausführen, um die Datenbank während der Ausführung eines Skripts zu ändern.Variable zur Verwendung [Datenbank]
DECLARE @Command nvarchar(200)
SELECT @Command = 'USE [Database1]'
--PRINT @Command
EXECUTE sp_sqlexec @Command
Was ist daran falsch?
versuchen dynamische wollen Aber es funktioniert. Haben Sie einen Fehler? – Whencesoever
** sp_sqlexec ** wird noch unterstützt? Ich dachte, wir hätten das seit der frühen SQL-Version verpasst. Probieren Sie stattdessen sp_executesql oder EXEC (@Command) aus. – Zerotoinfinity
Vielleicht ist es erwähnenswert, da 'USE' funktioniert, können Sie dies nicht in einem Batch ausführen und dann Code im selben Batch ausführen, in dem es ein' USE' erwartet im aktuellen Umfang. Jeder Code, der im Rahmen von 'USE' ausgeführt werden muss, muss auch im selben Batch ausgeführt werden (z. B. in der dynamischen SQL-Zeichenfolge). – Charleh