tnfh.net
当前位置:首页 >> 为什么MySQL的存储过程的书写这么麻烦?DELIMITER ... >>

为什么MySQL的存储过程的书写这么麻烦?DELIMITER ...

其实就是告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。 默认情况下,delimiter是分号;。在命令行客户端中,如果有一行命令以分号结束, 那么回车后,mysql将会执行该命令。如输入下面的语句 mysql> select * from test_table...

其实就是告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。

delimiter是mysql定义结束标记的,在mysql客户端中结束标记默认是分号(;)。 如果一次输入的语句较多,并且语句中间有分号,这时需要新指定一个特殊的结束符。 delimiter $ 表示mysql用$表示mysql语句结束,过程结束后肯定会有一句 delimiter ...

navicat编辑器里把delimiter都隐藏了,让你关注具体逻辑就行了,不必纠缠于语法问题

delimiter是mysql分隔符,在mysql客户端中分隔符默认是分号。delimiter $意思是设置了$作为分隔符,即执行mysql语句的时候以$作为结束的标志。一般使用完delimiter设置其他分隔符之后,需要重新设置回默认分隔符,命令:delimiter ;

加这个的目的是告诉mysql. 以$符号作为语句结束 不加的话, 默认是分号结束 而你的存储过程中, 一般是有分号的, 从而导致编译出错. 你是不是 编译一次以后, 没有恢复默认值呀?

set titlebar 'TAB' with name 'anzeigen'(100). elseif code = 'EDIT'. set titlebar 'TAB' with name '??ndern'(101). elseif code = 'INSR'. set titlebar 'TAB' with name 'einfügen'(102). elseif code = 'ANVO'. set titlebar 'TAB' with ...

试试下面这个格式 DELIMITER // CREATE PROCEDURE xxx_procedure() BEGIN ....... END//

使用命令行方式才会遇到这个问题。 这是由于命令行模式下,遇到分号就会认为语句输入完成要开始执行了,但是建立存储过程时,要输入很多语句,必须让mysql知道还没输入完成呢,遇到的分号只是存储过程的一部分,所以会先设定一下分隔符是$,然后...

DROP PROCEDURE IF EXISTS `generate_orderNo`; DROP PROCEDURE IF EXISTS `generate_contractNo`; DELIMITER // CREATE PROCEDURE `generate_orderNo` ( ) BEGIN END// DELIMITER // CREATE PROCEDURE `generate_contractNo` ( ) BEGIN END// D...

网站首页 | 网站地图
All rights reserved Powered by www.tnfh.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com