データベースに親子関係があります。私がする必要があるのは、親のクエリをループし、親の主キーを使用してその子を取得することです。私が抱えている問題は、これを行うにはパラメーター化されたカーソル (キーを渡す) を使用する必要があることです。
SQL Serverにそのようなものはありますか、またはこれを模倣するトリックはありますか? 私はこれをやってみましたが、うまくいきませんでした:
DECLARE @value VARCHAR(20);
DECLARE @someKey NUMERIC(19,0);
DECLARE main_curs
CURSOR FOR SELECT value FROM someTable where key = @someKey;
SET @someKey = 12345;
OPEN main_curs
FETCH NEXT FROM main_curs INTO @value;
CLOSE main_curs
DEALLOCATE main_curs
しかし、@someKey を設定しても、それは私を拾わないようです。
これに関するヘルプは大歓迎です。ありがとう!
アップデート
例が単純すぎるように見えたので、もっと情報を含める必要があります。使用する必要がある複数の @someKey 値があります。前述の通り、親子関係があり、最大6人の子供を持つことができます。だから私は親のリストを取得しています。それはそれぞれの列であり、それを繰り返しています。WHILE-LOOP では、親から主キーを取得し、別のカーソルを呼び出して子情報を取得したいと考えていました (異なる列が返されました)。したがって、異なる @someKey 値を設定して、子カーソルを複数回呼び出します。それが理にかなっていることを願っています。