こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

T-SQLで

SQL Server2005でストアドプロシージャを作ろうと思うのですが、カーソルにパラメータを実装できないそうで困っています。

やりたいことは、
「ワークテーブルからSELECTして、別のテーブルにINSERT or UPDATEする」
です。

ワークテーブルからSELECTするところをカーソルにするのですが、SELECT条件は可変なので、その部分をパラメータでカーソルに渡したいのです。
Oracleならできたんですが・・・。

どうすれば実現できますか?

投稿日時 - 2006-05-02 00:01:27

QNo.2126085

すぐに回答ほしいです

質問者が選んだベストアンサー

>WHERE ColumnA = 1 になったり、
>WHERE ColumnA = 2 になったりします。

カーソル宣言のSELECT文で、条件式の値部分をパラメタ名にして可変にできますけど?

WHERE ColimnA = @parm1

「SQL Server 2005ではできない」と、誰に聞いたのですか?

投稿日時 - 2006-05-02 16:26:24

お礼

Oracleでは、C_HOGE(X_PARAM)のようにカーソル自体に引数を持たせることが出来ます。

SQL Serverではこれができないので、どうすればいいのかと困っていました。

回答のようなことが出来るのであれば、やりたいことが実現できるので良かったです。

ありがとうございました。

投稿日時 - 2006-05-04 09:57:09

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

>SELECT条件は可変なので、その部分をパラメータで
>カーソルに渡したいのです

「SELECT条件は可変」とは、具体的にどのような条件を指定するのでしょうか?

投稿日時 - 2006-05-02 07:28:45

補足

WHERE句に書く条件が可変ということです。

WHERE ColumnA = 1 になったり、
WHERE ColumnA = 2 になったりします。

投稿日時 - 2006-05-02 08:10:08

あなたにオススメの質問