Translate Special Characters using REGEXP_REPLACE
select * from ar.hz_parties
where upper(trim(REGEXP_REPLACE(party_name ,'[^[:alnum:]'' '']', NULL))) = upper(trim(REGEXP_REPLACE(:party_name,'[^[:alnum:]'' '']', NULL)));
SQL> BEGIN 2 EXECUTE IMMEDIATE 'garbage'; 3 END; 4 /
BEGIN * ERROR at line 1: ORA-00900: invalid SQL statement ORA-06512: at line 2
SQL> BEGIN 2 EXECUTE IMMEDIATE 'garbage'; 3 EXCEPTION 4 WHEN OTHERS THEN 5 DBMS_OUTPUT.PUT_LINE( SQLERRM ); 6 RAISE; 7 END; 8 /
ORA-00900: invalid SQL statement BEGIN * ERROR at line 1: ORA-00900: invalid SQL statement ORA-06512: at line 6
SQL> BEGIN 2 EXECUTE IMMEDIATE 'garbage'; 3 EXCEPTION 4 WHEN OTHERS THEN 5 DBMS_OUTPUT.PUT_LINE( DBMS_UTILITY.FORMAT_ERROR_STACK ); 6 RAISE; 7 END; 8 /
ORA-00900: invalid SQL statement BEGIN * ERROR at line 1: ORA-00900: invalid SQL statement ORA-06512: at line 6
SQL> BEGIN 2 EXECUTE IMMEDIATE 'garbage'; 3 EXCEPTION 4 WHEN OTHERS THEN 5 DBMS_OUTPUT.PUT_LINE( DBMS_UTILITY.FORMAT_ERROR_BACKTRACE ); 6 RAISE; 7 END; 8 /
ORA-06512: at line 2 BEGIN * ERROR at line 1: ORA-00900: invalid SQL statement ORA-06512: at line 6
SQL> BEGIN 2 EXECUTE IMMEDIATE 'garbage'; 3 EXCEPTION 4 WHEN OTHERS THEN 5 DBMS_OUTPUT.PUT_LINE( SQLERRM ); 6 DBMS_OUTPUT.PUT_LINE( DBMS_UTILITY.FORMAT_ERROR_BACKTRACE ); 7 RAISE; 8 END; 9 /
ORA-00900: invalid SQL statement ORA-06512: at line 2 BEGIN * ERROR at line 1: ORA-00900: invalid SQL statement ORA-06512: at line 7
SQL> CREATE PROCEDURE will_error AS 2 BEGIN 3 RAISE PROGRAM_ERROR; 4 END; 5 /
Procedure created.
SQL> BEGIN 2 will_error(); 3 EXCEPTION 4 WHEN OTHERS THEN 5 DBMS_OUTPUT.PUT_LINE( SQLERRM ); 6 DBMS_OUTPUT.PUT_LINE( DBMS_UTILITY.FORMAT_ERROR_BACKTRACE ); 7 END; 8 /
ORA-06501: PL/SQL: program error ORA-06512: at "SCOTT.WILL_ERROR", line 3 ORA-06512: at line 2