解释$$和delimiter
时间: 2024-06-18 12:06:02 浏览: 220
MySql delimiter的作用是什么
在MySQL中,delimiter是分隔符的意思,用于标记SQL语句块的开头和结尾。默认的分隔符是分号(;),当我们需要在SQL语句中自定义分隔符时,就需要使用delimiter命令。$$是自定义分隔符之一,以两个美元符号开头和结尾。
我们可以通过以下示例更好地理解delimiter和$$的作用。
引用:创建一个MySQL函数queryOnePartnerInviteCodeByCode,该函数接受一个参数_code,并返回一个varchar类型的值。我们可以使用delimiter命令将分隔符更改为$$,这样就可以在函数体中使用分号。具体代码如下:
```mysql
delimiter $$
create function `queryOnePartnerInviteCodeByCode`(_code varchar(4000))
returns varchar(4000) charset utf8
begin
declare _partnerId int;
select partner_id into _partnerId from `t_partner_invite_code` where invite_code = _code;
if _partnerId is null then
return null;
end if;
declare _inviteCode varchar(4000);
select invite_code into _inviteCode from `t_partner_invite_code` where partner_id = _partnerId and used = 0 order by create_time asc limit 1;
if _inviteCode is null then
return null;
end if;
update `t_partner_invite_code` set used = 1 where invite_code = _inviteCode;
return _inviteCode;
end$$
delimiter ;
```
在该示例中,我们首先使用delimiter命令将分隔符更改为$$,然后创建了一个名为queryOnePartnerInviteCodeByCode的函数,该函数接受一个参数_code,并返回一个varchar类型的值。在函数体中,我们可以使用分号作为语句的结束符。最后,我们再次使用delimiter命令将分隔符更改回分号。
引用:删除一个名为queryOnePartnerInviteCodeByCode的MySQL函数。我们可以使用delimiter命令将分隔符更改为$$,然后使用drop function命令删除该函数,具体代码如下:
```mysql
delimiter $$
drop function if exists `queryOnePartnerInviteCodeByCode`$$
delimiter ;
```
在该示例中,我们同样使用delimiter命令将分隔符更改为$$,然后使用drop function命令删除名为queryOnePartnerInviteCodeByCode的函数。最后,我们再次使用delimiter命令将分隔符更改回分号。
阅读全文