Oracle
 sql >> Base de données >  >> RDS >> Oracle

comment déclarer SQLCA.SQLERRD ?

Utilisez-vous PL/SQL ? Ou utilisez-vous Pro*C/C++ ? SQLCA.SQLERRD serait défini en Pro*C/C++, il ne serait pas défini en PL/SQL. Puisque vous n'avez pas tagué la question pour Pro*C, je suppose que vous utilisez simplement PL/SQL.

En PL/SQL, vous référencez simplement SQL%ROWCOUNT après avoir exécuté une instruction SQL pour obtenir le nombre de lignes. Quelque chose comme

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;