2011-05-10 115 views
-1

我想使用一個包含兩個不同的光標作爲表輸入像這樣一個存儲過程:插入到表從存儲過程

INSERT INTO table1 EXEC * FROM tblDailySales 

存儲的過程包含兩個光標 - 我不只是使用運行。

我得到以下錯誤:

​​

我也得到這個錯誤

An INSERT EXEC statement cannot be nested

存儲的過程中沒有EXEC,我可以看到。

除了簡單的SELECT之外,還可以使用什麼樣的存儲過程作爲表格的來源?

+0

什麼DBMS系統? – Rob 2011-05-10 18:44:31

+0

爲什麼你要用遊標開始呢?遊標不是推薦的插入方式。 – HLGEM 2011-05-10 21:29:38

回答

1

table1是否已定義?如果是的話你應該做的是

INSERT INTO table1 
EXEC storedProcedureName 

現在,問題是,存儲過程只能返回一個結果集,並插入到表中。

如果您需要插入兩個不同的結果集,則必須先收集兩個不同的存儲過程,然後運行兩個INSERT語句。

如果您必須一次執行這些操作,則需要在存儲過程中執行插入操作。

+0

是的,表1已經定義。只有一個結果集被返回。這些錯誤表明遊標無法找到。 – dave 2011-05-10 19:30:35

+0

哦,另外,有一位可能是麻煩真正原因的執行官。 – dave 2011-05-10 19:31:29