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 关联条件;

  • 相关阅读:
    解决SSH窗口关闭,linux上的应用也关闭
    Spring 自定义配置类bean
    java 图片文字识别 ocr
    解决Oracle在Linux下Listener起不来,error 111错误
    java 切图 判断图片是否是纯色/彩色图片
    java 二维码编码解码
    字符串整体大小写转换,首字母大小写
    oracle 解锁表的一个小问题
    mysql-如何完全删除主从同步
    oracle RAC ONLINE INTERMEDIATE shdb1 Stuck Archiver
  • 原文地址:https://www.cnblogs.com/hclyz/p/6560180.html
Copyright © 2011-2022 走看看