Използвате ли PL/SQL? Или използвате Pro*C/C++? SQLCA.SQLERRD
ще бъде дефиниран в Pro*C/C++, няма да бъде дефиниран в PL/SQL. Тъй като не сте маркирали въпроса за Pro*C, предполагам, че просто използвате PL/SQL.
В PL/SQL просто препращате към SQL%ROWCOUNT
след изпълнение на SQL оператор, за да получите броя на редовете. Нещо като
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;