Erstellen von Anweisungen zur Laufzeit
Die meisten MicrosoftSQL Server-Anwendungen, die SQL-Anweisungen dynamisch zur Laufzeit erstellen müssen, führen diesen Vorgang aus, bevor sie eine Datenbank-API-Funktion oder -Methode zur Ausführung der Anweisung aufrufen. Eine auf der Sprache C basierende Anwendung, die ODBC verwendet, kann z. B. dynamisch eine oder mehrere SQL-Anweisungen in ein Zeichenarray integrieren und dann dieses Array an die ODBC-Funktion SQLPrepare oder SQLExecDirect übergeben.
Transact-SQL unterstützt die folgenden Methoden zum Erstellen von SQL-Anweisungen zur Laufzeit in Transact-SQL-Skripts, gespeicherten Prozeduren und Triggern:
Verwenden der gespeicherten Systemprozedur sp_executesql zur Ausführung einer Unicode-Zeichenfolge. sp_executesql unterstützt die Parameterersetzung wie bei einer RAISERROR-Anweisung.
Verwenden der EXECUTE-Anweisung zur Ausführung einer Zeichenfolge. Die EXECUTE-Anweisung unterstützt keine Parameterersetzung in der ausgeführten Zeichenfolge.
Sicherheitshinweis Das Verwenden der EXECUTE-Anweisung zum Ausführen einer Zeichenfolge erhöht die Gefahr von SQL Injection-Angriffen. Stattdessen wird die Verwendung von sp_executesql mit Parametern empfohlen.