什么意思是在pl / sql中的值之前签$?

时间:2015-05-24 11:54:00

标签: sql plsql

什么意思是在pl / sql中的值之前签署$?

1 个答案:

答案 0 :(得分:1)

PL / SQL中的

$可能意味着Official DocumentationInquiry Directive。这些是条件编译的工具。

$的一些其他用途是命名模式对象(但不是第一个字符),以及行模式匹配元素中的正则表达式锚。新的12c行模式匹配功能为PL / SQL的简单词法分析增加了一些烦人的模糊性。

以下是将所有4种用法放在一起的示例。这是12c中的有效代码,尽管它没有做任何有用的事情。

alter session set plsql_ccflags = 'inq_dir_test:1';

declare
    v_test number;
begin
    select $$inq_dir_test inq_dir_test$$
    into v_test
    from dual
    match_recognize(
        measures x.dummy dummy
        pattern(
            ^$|
            x{$$inq_dir_test}|
            x{$IF 1=1 $THEN 1 $END}
        )
        define x as (1=1)
    );
end;
/