私が管理する製品チームの1つに、連結を使用してテーブルを注入する動的SQLクエリを使用する豊富なクエリがあります。それはsanitisationを持っている間、私は完全に動的SQLを削除しようとしています。SQLのパラメータ化された動的テーブルのクエリ
テーブル名をパラメータ化する方法はありますか?
SELECT * FROM (SELECT DISTINCT Table_Name FROM INFORMATION_SCHEMA.Tables WHERE Table_Name = :queryParam)
これが可能である: 私は私のようなテーブルに何かを問い合わせることができる方法を考えるしようとしていますか?
SQLクエリで識別子をパラメータ化することはできません。 'QUOTENAME()'を使ってより慎重にすることができます:https://docs.microsoft.com/en-us/sql/t-sql/functions/quotename-transact-sql。 –
@ GordonLinoffこれらはインライン文字列クエリであり、ストアドプロックではないので、QUOTENAMEは誰かがその境界をエスケープできるので助けになりません。しかし、ありがとう。 – Cyassin
@Cyassin _動的sql_を完全に削除しようとしていますが、動的SQLなしでは実行できません。 – Sami