Cześć, w jaki sposob obsluzyc przypadek z bledem ktory pojawia sie gdy wywolamy procedure w nastepujacy sposob:
test(aaa);
gdy wywolujemy:
test('aaa');
jest wszystko ok
Ponizej kod procedury.
Probowalem wykryc cudzyslow, ale chyba nie da sie tego zrobic..
PROCEDURE test(idnum IN VARCHAR2)
AS
cx integer;
q_stmt2 varchar(1000);
BEGIN
q_stmt2 := 'select INSTR(:1,ascii('''')) from dual';
EXECUTE IMMEDIATE q_stmt2
INTO cx
USING idnum;
if cx >0 then
DBMS_OUTPUT.PUT_LINE('Zawiera Blad wproawdzania danych!1');
else
DBMS_OUTPUT.PUT_LINE('Nie zawiera Blad wproawdzania danych!2');
end if;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Exception: SQLCODE=' || SQLCODE || ' SQLERRM=' || SQLERRM);
RAISE;
END;