1. ホーム
  2. sql

[解決済み] 動的SQL - EXEC(@SQL)とEXEC SP_EXECUTESQL(@SQL)の比較

2023-02-02 14:18:16

質問

SQL Server のストアドプロシージャで動的 SQL コマンドを実行することの実際の利点と欠点は何ですか。

EXEC (@SQL)

EXEC SP_EXECUTESQL @SQL

?

どのように解決するのですか?

sp_executesql の方がクエリプランの再利用を促進する可能性が高いです。使用する場合 sp_executesql を使う場合、パラメータは呼び出し元のシグネチャで明示的に識別されます。この素晴らしい記事では、このことについて説明しています。 プロセス .

動的SQLの多くの側面でよく引用される参考文献は、Erland Sommarskogの必読書である。 動的SQLの呪いと祝福 です。