zoukankan      html  css  js  c++  java
  • 【3-16】数据库基本编程语句,存储过程,触发器

    一基本编程语句

    (1)定义变量  declare @变量名 数据类型 

    (2)赋值 set @变量名=值 

                 select @变量名 =值

    (3)取值打印  print @变量名

                        select  @变量名

    例:

    注:print 打印在消息框中

    (4)分支语句

    if 条件

    begin

    条件语句

    end

    else

    begin

    条件语句

    end

    例:

    (5)循环语句

    初始条件

    while 循环条件

    begin

    循环体

    end

    例:

    二 存储过程

    create proc 存储名

    参数  数据类型

    as

     return  值

    调用 exec 

    例:

    三、触发器

    create  or alter trigger 别名

    on 触发的表名

    for 触发的动作    或 instead of 触发的动作 或 after 触发的动作

    as 触发的内容

    例:

    Oracle:

    CREATE OR REPLACE TRIGGER 触发器名
    操作的前后节点(before|after|instead of) 操作的动作(insert|Update|Delete)  OF 列名
    ON 表名
    FOR EACH ROW--遍历表的每一句
    DECLARE--定义变量关键字
    变量1 数据类型;

    变量2 数据类型;
    BEGIN--开始
    执行代码

    END;--结束

    eg:

    /*CREATE OR REPLACE TRIGGER materialUpdate
    BEFORE INSERT OR UPDATE OF FMaOverCtrlRate_LT
    ON T_BD_MATERIALPRODUCE
    FOR EACH ROW
    DECLARE
    IScambo NUMBER (20);
    ISmaterial NUMBER (20);
    BEGIN
    SELECT t1.FUSEORGID, FCategoryID
    INTO IScambo, ISmaterial
    FROM T_BD_MATERIAL t1
    LEFT JOIN t_BD_MaterialBase t2 ON t1.Fmaterialid = t2.Fmaterialid
    WHERE t1.Fmaterialid = :new.Fmaterialid;

    IF IScambo = 2231159 AND ISmaterial = 237
    THEN
    :new.FMaOverCtrlRate_LT := 5;
    END IF;
    END;
    /
    GO*/

    级联删除:在两个表有外键约束时删除外键表数据需要先删除外键关联主表数据,再删除外表数据

    create trigger 触发器名

    on 要删除的外表名

    instead of Delete

    as 

    declare 变量名(存放删除数据) 数据类型

    select 变量名=关联的外键列名 from deleted

    Delete from 主键表名 where 关联条件;

    Delete from 外键表名 where 关联条件;

  • 相关阅读:
    Web中的通配符
    EJB版本
    package-info.java
    dynamic web module version
    深入解析和反思携程宕机事件
    Ubuntu 环境下使用cronolog 切割Tomcat日志
    ubuntu环境下cassandra安装配置
    zabbix自定义触发器语法
    zabbix系统邮件告警Python脚本
    Ubuntu14.04下zabbix2.4.5 源码编译安装
  • 原文地址:https://www.cnblogs.com/hclyz/p/6560180.html
Copyright © 2011-2022 走看看