Používáte PL/SQL? Nebo používáte Pro*C/C++? SQLCA.SQLERRD
by byl definován v Pro*C/C++, nebyl by definován v PL/SQL. Protože jste neoznačili otázku pro Pro*C, předpokládám, že používáte pouze PL/SQL.
V PL/SQL jednoduše odkazujete na SQL%ROWCOUNT
po spuštění příkazu SQL pro získání počtu řádků. Něco jako
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;