Oracle 如何声明SQLCA.SQLERRD?

Oracle 如何声明SQLCA.SQLERRD?,oracle,plsql,Oracle,Plsql,我试图在oracle存储过程中使用insert…select…stmt将记录插入表中。如何查找使用SQLERRD插入的记录数 recIn number; Insert into t1 ....Select.....; recIn := SQLCA.SQLERRD(3); .... .... PLS-00201: identifier 'SQLCA.SQLERRD' must be declared 是抛出的错误消息。如何声明SQLCA.SQLERRD using Oracle 9.2 bcs

我试图在oracle存储过程中使用insert…select…stmt将记录插入表中。如何查找使用SQLERRD插入的记录数

recIn number;
Insert into t1 ....Select.....;
recIn := SQLCA.SQLERRD(3);
....
....
PLS-00201: identifier 'SQLCA.SQLERRD' must be declared
是抛出的错误消息。如何声明SQLCA.SQLERRD

using Oracle 9.2

bcs     

您正在使用PL/SQL吗?或者您正在使用Pro*C/C++
SQLCA.SQLERRD
将在Pro*C/C++中定义,而不是在PL/SQL中定义。由于您没有为Pro*C标记问题,我猜您只是在使用PL/SQL

在PL/SQL中,在运行SQL语句以获取行数之后,只需引用
SQL%ROWCOUNT
。差不多

DECLARE
  l_num_rows INTEGER;
BEGIN
  INSERT INTO t1( <<list of columns>> )
    SELECT <<list of columns>>
      FROM <<some tables>>
     WHERE <<some predicates>>
  l_num_rows := sql%rowcount;
  dbms_output.put_line( 'The statement inserted ' || l_num_rows || ' rows.';
END;
声明
l_num_行整数;
开始
插入t1()
挑选
从…起
哪里
l_num_rows:=sql%行数;
dbms_output.put_line(‘插入的语句’| | l| num_rows | | rows’;
结束;

谢谢你,贾斯汀。我不知道它将与Pro*C/C++一起使用。我使用PL/SQL。