多段脚本之间用什么隔开呢

【 使用环境 】生产环境 or 测试环境
测试环境
【 OB or 其他组件 】
odc客户端
【 使用版本 】
3.2.4.1
【问题描述】清晰明确描述问题
执行多段表结构语句时,就会报类型错误,单独执行一个就没问题
【复现路径】问题出现前后相关操作
留下一个创建表的脚本,执行即成功;脚本中同时有两个就会报语法错误
ORA-00900:You have an error in your SQL syntax;check the manual that corresponds to your OceanBase version for the right syntax to use near ’
【问题现象及影响】

【附件】


pud.txt (7.3 KB)

Oracle模式下的PL块,默认分隔符是/,你可以在每一个匿名块之间增加一个/,这样即可正确进行分句


加了后,第一个就能执行成功,后面就报错了

你是使用ODC的sql窗口执行还是直接黑屏执行,ODC的sql窗口执行的话加上/是可以的,看你的截图是通过黑屏执行的

image
找到了,在这里修改界定符设置之后,添加“/”之后就可以执行多个脚本了,在sql窗口
但是我想问下,在odc提供的命令窗口怎么执行多个脚本呢

命令行窗口默认分隔符是分号;由于你的脚本是PL,PL中有分号会影响分句,所以需要修改分隔符,命令行可使用DELIMITER指定分隔符号,例如

DELIMITER $$
sql; $$ sql; $$ sql; $$

这样就可以执行多个脚本,记得在执行完脚本后将分隔符改回分号

DELIMITER ;

推荐使用ODC的sql窗口,更好用