Erstellen von Anweisungen zur Laufzeit
Aktualisiert: 05. Dezember 2005
Die meisten Microsoft SQL Server 2005-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.
Siehe auch
Konzepte
Andere Ressourcen
SQL Injection
sp_executesql (Transact-SQL)
Hilfe und Informationen
Informationsquellen für SQL Server 2005
Änderungsverlauf
Version | Verlauf |
---|---|
05. Dezember 2005 |
|