我在数据库中有父子关系。我需要做的是遍历父母的查询,并使用父母的主键,得到它的孩子。我遇到的问题是我需要使用参数化游标(传入密钥)来执行此操作。
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 值对子光标进行多次调用。希望这是有道理的。