oracleでのプロシージャ作成の構文は次のとおりです。私は構文で使用される '、q'a、q'z、およびz'が何であるか不思議でした。oracleの動的SQLでのステートメントの連結
誰かがこれらの構成の使用法を説明できますか?
**
EXECUTE IMMEDIATE 'CREATE OR REPLACE PROCEDURE "demoproc" '|| '(FIXCARD in number DEFAULT 0, INC in number DEFAULT 0) '|| 'AUTHID DEFINER IS '|| 'CARD NUMBER; '|| 'FOWNER VARCHAR2(128) := '|| ' SYS_CONTEXT(''USERENV'',''CURRENT_SCHEMA''); '|| 'BEGIN '|| 'EXECUTE IMMEDIATE '|| ''' EXPLAIN PLAN FOR '' || '|| q'z q'a SELECT a' || q'a z' || q'z "demotab"."a" AS "F_NO",
:B7 a' || q'a z' || q'z AS "P_NO"
FROM "demotab" "demotab"
WHERE (
a' || q'a z' || q'z "demotab"."b" = :B17 AND
a' || q'a z' || q'z "demotab"."c" = :B2 AND
a' || q'a z' || q'z "demotab"."d" = :B16
) a' ;
**
注:構文は完全ではないかもしれません。
' sqlstrをお試しくださいとなり実行されるステートメント –