Jav*_*rre 0 sql oracle quoting
在我的存储过程中,我通常会执行立即 q'[要执行的代码]。但是,我的代码中有一些带有“$[*]”的内容。Oracle 将引用和括号解释为我的引用的结尾。我怎样才能摆脱这个?请找到下面的完整代码。
EXECUTE IMMEDIATE q'[
CREATE OR REPLACE VIEW vw_err_text AS
WITH aux AS (
SELECT
err_txt
FROM
u339990_mr2
WHERE
err_txt IS NOT NULL
)
SELECT
error_text,
COUNT(*) AS ct,
round(RATIO_TO_REPORT(COUNT(1)) OVER() * 100, 2) perc
FROM
aux CROSS APPLY
JSON_TABLE(err_txt, '$[*]'
COLUMNS
error_text PATH '$'
)
GROUP BY
error_text
ORDER BY
ct DESC,
error_text
]'
;
Run Code Online (Sandbox Code Playgroud)
小智 5
对引用语法使用不同的字符(或多个字符)q。
q'[ ... ]'是正确的,但您也可以使用(或与花括号或和q'( ... )'相同)。此外,您可以使用任何单个字符(未配对),如or - 仅使用数据中不会自然出现结束组合的字符。这正是语法允许这种灵活性的原因。<>q'@ ... @'q'^ ... ^'
https://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements003.htm#i42617
| 归档时间: |
|
| 查看次数: |
209 次 |
| 最近记录: |