GBase 8s
运维管理
文章
GBaseDataStudio 执行存储过程等命令时,语法报错
发表于2023-10-24 17:20:24540次浏览9个评论
GBaseDataStudio工具连接数据库,执行类似存储过程的一条语句里有多个 ‘;‘ 的sql时报语法错误;以下方存储过程为例
create table t3 (f_depart varchar(50),f_name varchar(50),f_years int);
create procedure add_t3 (depart varchar(50),name varchar(50),years int)
insert into t3(f_depart,f_name,f_years) values(depart,name,years);
end procedure;错误原因:
1、执行时,选择了 执行SQL脚本 选项;如下图

解决方法:选择要执行的sql,点击 执行sql 声明 按钮,如下图:(如没有sql声明这个选项,请更新客户端工具)

2、确实需要执行脚本,又该如何解决呢?
两种解决方法!
1)修改分隔符,
delimiter | #以 | 为sql分隔符
create procedure add_t3 (depart varchar(50),name varchar(50),years int)
insert into t3(f_depart,f_name,f_years) values(depart,name,years);
end procedure |
delimiter ; #以 ; 为sql分隔符效果如下,即使点击执行sql脚本,也不会报错:

2)添加大括号!
create procedure add_t3 (depart varchar(50),name varchar(50),years int)
{insert into t3(f_depart,f_name,f_years) values(depart,name,years);}
end procedure;
效果如下,执行sql脚本也不会报错!:

热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25044
- 42023-09-25浏览数:18519
- 52020-05-11浏览数:17526