INSERT INDER plsql过程不会告诉插入了多少行

INSERT INDER plsql过程不会告诉插入了多少行,plsql,sqlplus,Plsql,Sqlplus,我试图在pl/sql循环中插入一些行并更新一些行 然而,我看到的是pl/sql过程成功完成 我确实可以看到dbmbs_ouput语句,但不能看到insert和/或update查询的输出状态 服务器输出设置为on 如何查看插入和更新行的状态(即插入和更新了多少行)在Oracle中,rowcount不会像在SQL Server中那样自动输出 您应该明确地这样做: BEGIN INSERT INTO mytable SELECT …

我试图在pl/sql循环中插入一些行并更新一些行

然而,我看到的是pl/sql过程成功完成

我确实可以看到dbmbs_ouput语句,但不能看到insert和/或update查询的输出状态

服务器输出设置为on


如何查看插入和更新行的状态(即插入和更新了多少行)

在Oracle中,
rowcount
不会像在
SQL Server
中那样自动输出

您应该明确地这样做:

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

循环是否遇到错误,或者您是否捕获/处理错误?何时进行提交--如果在循环之后,则没有一个成功。请注意,SQL%ROWCOUNT在提交或回滚之后重置为零,因此最好将该行紧跟在DML语句之后。@Jeffrey:实际上,这就是我想展示的,在省略号后面加上分号:)那么,如果我有多个insert和delete,rowcount会给出受最新dml语句影响的行数?