Inceptor对PL/SQL中分号的支持

Inceptor中默认对PL/SQL语句块的分号是不支持的,也就是说在inceptor的默认配置中会识别分号为SQL语句块结束的符号,但是在beeline中默认的并不是以分号结束,所以当使用beeline命令进行编译存储过程时就会报错。我们可以通过命令语句手动打开支持。使用命令的时候,我们需要在PL/SQL文件的头部和尾部各加一条命令,具体如下:

1. 在PL/SQL文件头部加上一条set命令     

    #在CLI+HiveServer1中

       set plsql.use.slash = true;

    #在Beeline+HiveServer2中

       !set plsqlUseSlash true

2. 在PL/SQL文件尾部,加上一条set命令,这样让当前的设定效果限定在当前文件内部       

     #在CLI+HiveServer1中

        set plsql.use.slash = false;

     #在Beeline+HiveServer2中

        !set plsqlUseSlash false

注意在Server2中命令语句后面不可以加分号。

提示:

Inceptor 要求在一个完整的PL/SQL语句块的后面加上一个新行,这行只包含'/'字符。此时Inceptor执行'/'之前的PL/SQL语句,如果不加'/'的话,Inceptor将不会执行之前的任何PL/SQL语句。一个完整的PL/SQL语句块的最后如果不加'/'字符,则Inceptor会认为语句块并没有结束,不会执行该语句块。


例:在Server2中打开分号支持

-- 设置plsqlUserSlash属性为true

!Set plsqlUserSlash true

-- 创建一个名为test()的过程

CREATE OR REPLACE PRCEDURE test() IS

DECLARE

    var INT;

BEGIN

    var := 1;

    WHILE var != 5

    -- 在变量var不等于5的情况下,依次输出var的值

    LOOP

        dbms_output.put_line("while loop body"||var||".");

        var := var+1;

    END LOOP;

END;

/


-- 调用过程test()

BEGIN

    test();

END;

/


-- 设置plsqlUserSlash属性为false。

!set plsqlUserSlash false


输出结果为:

output

while loop body 1.

while loop body 2.

while loop body 3.

while loop body 4.


参考文章:

https://blog.csdn.net/a545812327/article/details/106105308#:~:text=1%EF%BC%89%E5%9C%A8plsql%20%E6%96%87%E4%BB%B6%E5%A4%B4%E9%83%A8%EF%BC%8C%E5%8A%A0%E4%B8%8A%E4%B8%80%E6%9D%A1set%20%E5%91%BD%E4%BB%A4%EF%BC%9A%20CLI%2BHiveServer1%EF%BC%9Aset%20plsql.use.slash%3Dtrue%3B%20Beeline%2BHiveServer2%EF%BC%9A%21set%20plsqlUseSlash%20true,%E6%96%87%E4%BB%B6%E5%B0%BE%E9%83%A8%EF%BC%8C%E5%8A%A0%E4%B8%8A%E4%B8%80%E6%9D%A1set%20%E5%91%BD%E4%BB%A4%2C%20%E8%BF%99%E6%A0%B7%E8%AE%A9%E5%BD%93%E5%89%8D%E7%9A%84%E8%AE%BE%E5%AE%9A%E6%95%88%E6%9E%9C%E9%99%90%E5%AE%9A%E5%9C%A8%E5%BD%93%E5%89%8D%E6%96%87%E4%BB%B6%E5%86%85%E9%83%A8%EF%BC%9A%20CLI%2BHiveServer1%EF%BC%9Aset%20plsql.use.slash%3Dfalse%3B%20Beeline%2BHiveServer2%EF%BC%9A%21set%20plsqlUseSlash%20false

评论
登录后可评论
发布者
星小环分享号
文章
180
问答
205
关注者
27
banner
关注星环科技
获取最新活动资讯

加入TDH社区版技术交流群

获取更多技术支持 ->

扫描二维码,立即加入