广

MYSQL

  • MYSQL
  • MSSQL
  • Redis
  • MongoDB
  • oracle数据库
  • 数据管理

    MySQL5触发器教程

    2018-04-06 10:40:13 次阅读 稿源:互联网
    零七网广告
    全网推广平台,软文发布

    约定和编程风格

    每次我想要演示实际代码时,我会对mysql客户端的屏幕就出现的代码进行调整,将字体改成Courier,使他们看起来与普通文本不一样(让大家区别程序代码和正文)。在这里举个例子:

    mysql> DROP FUNCTION f;
    Query OK, 0 rows affected (0.00 sec)

    如果实例比较大,则需要在某些行和段落间加注释,同时我会用将"<--"符号放在页面的右边以表示强调。例如:

    mysql> CREATE PROCEDURE p ()
    -> BEGIN
    -> /* This procedure does nothing */ <--
    -> END;//
    Query OK, 0 rows affected (0.00 sec)

    有时候我会将例子中的"mysql>"和"->"这些系统显示去掉,你可以直接将代码复制到mysql客户端程序中(如果你现在所读的不是电子版的,可以在mysql.com网站下载相关脚本) 所以的例子都已经在Suse 9.2 Linux、Mysql 5.0.3公共版上测试通过。在您阅读本书的时候,Mysql已经有更高的版本,同时能支持更多OS了,包括Windows,Sparc,HP-UX。因此这里的例子将能正常的运行在您的电脑上。但如果运行仍然出现故障,可以咨询你认识的资深Mysql用户,这样就能得到比较好的支持和帮助。

    为什么要用触发器

    我们在MySQL 5.0中包含对触发器的支持是由于以下原因:

    MySQL早期版本的用户长期有需要触发器的要求。

    我们曾经许诺支持所有ANSI标准的特性。

    您可以使用它来检查或预防坏的数据进入数据库。

    您可以改变或者取消INSERT, UPDATE以及DELETE语句。

    您可以在一个会话中监视数据改变的动作。

    在这里我假定大家都读过"MySQL新特性"丛书的第一集--"MySQL存储过程",那么大家都应该知道MySQL至此存储过程和函数,那是很重要的知识,因为在触发器中你可以使用在函数中使用的语句。特别举个例子:

    复合语句(BEGIN / END)是合法的.

    流控制(Flow-of-control)语句(IF, CASE, WHILE, LOOP, WHILE, REPEAT, LEAVE,ITERATE)也是合法的.
    变量声明(DECLARE)以及指派(SET)是合法的.

    允许条件声明.

    异常处理声明也是允许的.

    但是在这里要记住函数有受限条件:不能在函数中访问表.

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七网广告
    零七网广告
    零七网广告
    零七网广告