2010-11-09 42 views
1

我試圖插入一些行並更新pl/sql循環中的某些行。在plsql過程中插入INSERT並不能告訴我插入了多少行

但是,我所看到的是pl/sql過程已成功完成。

我確實看到dbmbs_ouput語句而不是插入和/或更新查詢的輸出狀態。

serveroutput設置爲on。

我怎麼看INSERT和UPDATE行(行數即如何插入和更新)

+0

是循環遇到錯誤,或者是你捕捉/處理錯誤(縣)?什麼時候進行COMMIT - 如果在循環之後,則沒有成功。 – 2010-11-10 00:00:37

回答

3

在Oracle中的地位,在rowcount不輸出自動好像它是在SQL Server

你應該這樣做明確:

BEGIN 
     INSERT 
     INTO mytable 
     SELECT … 
     FROM other_table; 
     DBMS_OUTPUT.put_line(SQL%ROWCOUNT); 
END; 
+2

注意,在COMMIT或ROLLBACK之後SQL%ROWCOUNT被重置爲零,所以最好在DML語句之後立即放置該行。 – 2010-11-10 00:59:18

+0

@Jeffrey:實際上,這就是我試圖在省略號後面加分號:) – Quassnoi 2010-11-10 01:03:26

+0

所以如果我有多個插入並刪除rowcount給了我受最新的dml語句影響的行? – Kazoom 2010-11-10 02:04:19