- ベストアンサー
T-SQLで
SQL Server2005でストアドプロシージャを作ろうと思うのですが、カーソルにパラメータを実装できないそうで困っています。 やりたいことは、 「ワークテーブルからSELECTして、別のテーブルにINSERT or UPDATEする」 です。 ワークテーブルからSELECTするところをカーソルにするのですが、SELECT条件は可変なので、その部分をパラメータでカーソルに渡したいのです。 Oracleならできたんですが・・・。 どうすれば実現できますか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>WHERE ColumnA = 1 になったり、 >WHERE ColumnA = 2 になったりします。 カーソル宣言のSELECT文で、条件式の値部分をパラメタ名にして可変にできますけど? WHERE ColimnA = @parm1 「SQL Server 2005ではできない」と、誰に聞いたのですか?
その他の回答 (1)
- chukenkenkou
- ベストアンサー率43% (833/1926)
回答No.1
>SELECT条件は可変なので、その部分をパラメータで >カーソルに渡したいのです 「SELECT条件は可変」とは、具体的にどのような条件を指定するのでしょうか?
質問者
補足
WHERE句に書く条件が可変ということです。 WHERE ColumnA = 1 になったり、 WHERE ColumnA = 2 になったりします。
お礼
Oracleでは、C_HOGE(X_PARAM)のようにカーソル自体に引数を持たせることが出来ます。 SQL Serverではこれができないので、どうすればいいのかと困っていました。 回答のようなことが出来るのであれば、やりたいことが実現できるので良かったです。 ありがとうございました。