以下のクエリを使用して、ユーザー名を取得せずに関数の DDL を取得しています。私のクエリでは、/
スラッシュも取得していますが、これも見たくありません/
。どうすればこれを取り除くことができ/
ますか?
FUNCTION_NAME= "EMP"
USER_NAME="USER1"
SELECT REGEXP_REPLACE (
REPLACE (
dbms_metadata.get_ddl ('FUNCTION', '" + function_name+ @"')
, '""" + User_name + @""".')
,'^\s+', NULL, 1, 0, 'm')
FROM dual
結果:
CREATE OR REPLACE FUNCTION "EMP"
(str_in IN VARCHAR2) RETURN BOOLEAN AS
-- validating ###-##-#### format
BEGIN
IF TRANSLATE(str_in, '0123456789A','AAAAAAAAAAB') = 'AAA-AA-AAAA' THEN
RETURN TRUE;
END IF;
RETURN FALSE;
END ssn_candy;
/
期待される結果
CREATE OR REPLACE FUNCTION "EMP"
(str_in IN VARCHAR2) RETURN BOOLEAN AS
-- validating ###-##-#### format
BEGIN
IF TRANSLATE(str_in, '0123456789A','AAAAAAAAAAB') = 'AAA-AA-AAAA' THEN
RETURN TRUE;
END IF;
RETURN FALSE;
END ssn_candy;