0
我有下面的查詢:SQL服務器循環表
select * from tblA
這TBLA有列ID和NAME
我想從這個表獲得的ID,並使用到的過程。
即:
exec spGet ID
這是一個循環,對不對?
我該怎麼做?
Tnks。
我有下面的查詢:SQL服務器循環表
select * from tblA
這TBLA有列ID和NAME
我想從這個表獲得的ID,並使用到的過程。
即:
exec spGet ID
這是一個循環,對不對?
我該怎麼做?
Tnks。
如果你真的想這樣做,你可以使用遊標,但我強烈建議重新考慮你在做什麼。
DECLARE @ID INT;
DECLARE curIteration CURSOR
FOR
SELECT ID
FROM tblA;
OPEN curIteration
FETCH NEXT FROM curIteration
INTO @ID;
WHILE @@FETCH_STATUS = 0
BEGIN
EXECUTE spGet @ID;
FETCH NEXT FROM curIteration
INTO @ID;
END
CLOSE curIteration;
DEALLOCATE curIteration;
WOKRS SO好!謝謝! :) – jsfelipearaujo
你需要用逗號分隔的ID列表嗎? –
查詢本身將返回包含表中所有字段的記錄集對象。如果您修改它以從tblA中選擇id,您將從數據庫中獲得一個記錄集,然後可以在SQL服務器之外的代碼中「循環」......爲什麼需要循環?數據如何被使用?你使用.net或其他語言來查詢數據庫? – xQbert
[如何爲查詢返回的每一行執行一次存儲過程?](http://stackoverflow.com/questions/886293/how-do-i-execute-a-stored-procedure-once-for-each -row-by-query)/ [SQL - 爲每條記錄調用存儲過程](http://stackoverflow.com/questions/2077948/sql-call-stored-procedure-for-each-record) –