Ich muss einen regulären Ausdruck, wo ich alle Wörter einer dynamischen Abfrage in ORACLE mit NULL ersetzen müssen, außer für die Wörter, die mit dem @ -Zeichen beginnen. Zum Beispiel:Regulärer Ausdruck IN SQL
SQL:
SQL: SELECT @param1, column2, column3, @param2 FROM dual WHERE @code = code_table AND amount > @param4 + 50
Mit REGEXP_REPLACE
DECLARE
vl_result VARCHAR2(1000);
BEGIN
vl_result := REGEXP_REPLACE('SELECT @param1, column2, column3, @param2 FROM dual WHERE @code = code_table AND amount > @param4 + 50', 'EXP_REG', '');
dbms_output.put_line(vl_result);
END;
sollte folgendes Ergebnis hat:
@[email protected]@[email protected]
Und auf verschiedene Weise mehr versucht und kann immer noch nicht.
Sie wissen, ob Sie das tun können ?? und wie ernst der reguläre Ausdruck.
Ich bin Umgang mit PL/SQL
Ich schätze es sehr – rodrixd