select FLD1, FLD2.... From TBL1
where 項目1 = @条件1
and 項目2 = @条件1
and 項目3 = @条件1
という風に where句に3種類の条件があり、パラメータとしては一つの値を取るときがあります。
もっともこの例だと where 項目1 = @条件1 and 項目1 = 項目2 and 項目1 = 項目3 と書けてしまうのですが、可読性から上記のように記述したくなります。
ところが、同一パラメータの使い回しはできないようです。
書けたらいいのになぁと思うのです。 これを許すと弊害が出るのかな?
ODBC接続でのパラメータは名称パラメータは不可でして、'?'と 記述して且つ登録順が重要で面倒でした。
ADO.NETの時は、順序不問の上に、実際には使われない値もParameter登録していても支障がありません。
型指定をしなくても処理してくれるので便利になったものです。
最近はズボラして、既存なら Update文り、未登録ならInsert_SQLが走るようにしてます。
使用するパラメータの個数と要素は異なるのですが、最小公倍数の全項目を事前登録しています。SQL文で指定しなかった項目は使われないだけで、処理は実行してくれます。
.....手抜きで邪道な使い方のような気もするのですが...負けて使ってます。