• MySQL触发器


    所谓的MySQL触发器实际上与一些编程语言中的事件/事件处理程序类似


    触发器的建立

    • 建立一张示例表。CREATE TABLE account(acct_num INT,account DECIMAL(10,2));
    • 建立触发器示例:CREATE TIGGER ins_sum BEFORE INSERT ON account FOR EACH ROW SET @sum=@sum+NEW.account;
      以上的触发器示例,创建了一个名为ins_sum的触发器,BEFORE指明了触发的动作时间,与之对应的是AFTERINSERT指明了激活触发器的动作,此位置还可以用UPDATE/DELETE;跟在FOR EACH ROW后面的语句定义了激活触发器后将要执行的程序。在上面的例子中,触发而执行的语句是SET语句,负责将插入的account的值加起来,其中NEW.account意思是将要插入到新行的account的值。
      使用上例之前,应首先将@account初始化,然后再执行INSERT语句
    • 注意:不能为同一个表同一个触发时间定义两个触发器,这也是没有意义的
    • 注意:触发器不能调用动态SQL,也不能使用关于开始或结束事务的语句
    • 可以使用OLDNEW来更新或引用动作执行之前和之后的对象

    触发器的删除

    • DROP TRIGGER [scheme_name.]trigger_name

    触发器的使用

    • 当执行触发器所定义的动作时,触发器定义的程序将自动执行

    批量执行SQL语句

      • 将想要执行的SQL语句写入一个文本文件,例如test_file。然后执行mysql db_name < test_file --user=root
      • 如果文本文件中已经写明USE [db_name],应执行mysql < test_file --user=root 以上两个例子,MySQL用户名为root,文本文件为test_file
      • 如果正在执行MySQL,可以使用source或者.。e.g.:source test_file.sql或者. test_file.sql
  • 相关阅读:
    DeepFM
    Wide & Deep Learning Model
    机器学习优化方法总结比较(SGD,Adagrad,Adadelta,Adam,Adamax,Nadam)
    svm、logistic regression对比
    梯度下降和EM算法,kmeans的em推导
    牛顿法、拟牛顿法以及与梯度下降法的对比
    【effective c++】构造/析构/赋值运算
    Tips/Tricks in Deep Neural Networks
    GoogLeNet系列解读
    电脑组装的配件及其功能
  • 原文地址:https://www.cnblogs.com/mengnan/p/6790429.html
Copyright © 2020-2023  润新知