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脚本也不会报错!:

 

 

评论

登录后才可以发表评论
用户头像
路路路发表于 9个月前
学习了
用户头像
路路路发表于 9个月前
赞~
崔哥发表于 5个月前
墙角数枝梅,凌寒独自开。遥知不是雪,为有暗香来。
用户头像
路路路发表于 3个月前
1
用户头像
路路路发表于 3个月前
2
用户头像
路路路发表于 3个月前
3
用户头像
路路路发表于 3个月前
4
用户头像
路路路发表于 3个月前
5
白芷发表于 2个月前
学会了