我在數據庫中有一個父子關係。我需要做的是循環父母的查詢,並使用父母的主鍵,得到它的孩子。我遇到的問題是我需要使用參數化遊標(傳入密鑰)來執行此操作。有沒有辦法在SQL Server光標中使用參數?
在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。
任何幫助,將不勝感激。謝謝!
UPDATE
我應該包括更多的信息,因爲我所做的例子似乎太簡單了。我有多個我需要使用的@someKey值。如前所述,我有一個親子關係,我最多可以有6個孩子。所以我得到了一份家長名單,它是各自的專欄,並通過它迭代。在WHILE-LOOP中,我想從父項中獲取主鍵並調用另一個光標來獲取子項信息(返回不同的列)。所以我會用不同的@someKey值設置多個對子游標的調用。希望這是有道理的。
你可以只是查詢數據,而不使用選擇這通常更有效嗎? – Mark 2012-10-12 19:33:48