私はいくつかのGoogle検索を行ってきましたが、数字だけ、文字列サイズの制限、電子メールアドレス、SSNなどの一般的なPL/SQL入力検証手法/ユーティリティを教えてください。ライブラリパッケージやソースコードを見つけることはできません。私はホイールを再発明したくありません:)PL/SQL入力検証手法/ utils
ありがとうございました。
私はいくつかのGoogle検索を行ってきましたが、数字だけ、文字列サイズの制限、電子メールアドレス、SSNなどの一般的なPL/SQL入力検証手法/ユーティリティを教えてください。ライブラリパッケージやソースコードを見つけることはできません。私はホイールを再発明したくありません:)PL/SQL入力検証手法/ utils
ありがとうございました。
のような文字列を検証する必要があるだろう場合、私はdefenetly REGEXP_LIKEを使用するオラクルのバージョンおよび/またはフォームに依存するというスクリプトがありますdbsmany.sqlは、おそらく{ORACLE_HOME} /rdbms/admin/dbmsany.sqlにある有用なものです。
あなたが探しているものではありませんが、面白いアプローチのanydataタイプがあります。より多くの公共および便利なPL/SQLスクリプトの場合
CREATE OR REPLACE FUNCTION getData(p_x IN sys.anyData)
RETURN VARCHAR2 IS
l_num NUMBER;
l_date DATE;
l_varchar2 VARCHAR2(4000);
BEGIN
CASE p_x.gettypeName
WHEN 'SYS.NUMBER' THEN
IF (p_x.getNumber(l_num) = dbms_types.success) THEN
l_varchar2 := l_num;
END IF;
WHEN 'SYS.DATE' THEN
IF (p_x.getDate(l_date) = dbms_types.success) THEN
l_varchar2 := l_date;
END IF;
WHEN 'SYS.VARCHAR2' THEN
IF (p_x.getVarchar2(l_varchar2) = dbms_types.success) THEN
NULL;
END IF;
ELSE
l_varchar2 := '** unknown **';
END CASE;
RETURN l_varchar2;
END getData;
/
まあ...それは私が探していたものとは少し異なります。とにかくありがとう。 – vadimk
どう 'regexp_like'について...? – Codo
どのOracleのバージョンですか?どのバージョンのフォームですか?フォームのデータを検証しようとしていますか?またはデータベースのストアドプロシージャでは? –
Oracle-11は、ストアドプロシージャの "http://mysite.com?foo=123&bar=xyz"のように入力 "foo&bar"を検証する必要があります。ありがとう。 – vadimk