zoukankan      html  css  js  c++  java
  • sql触发器

    /*1,建商品表(Store),订单表(orders),日志表(Logs)
    
        2,创建订单表插入触发器,实现插入一条订单信息,商品表中商品数量相应减少,订单中的总金额相应增加。
    
        3,创建订单表更新触发器,实现更新一条订单信息,商品表中商品数量相应变化,订单中的总金额相应变化。(和2类似)
    
        4,创建日志表触发器,实现更新商品表价格变化情况。
    */
    use samp
    go
    create table Store
    (
    id uniqueidentifier primary key,
    productid int not null,
    productprice money not null default 1,
    productch nvarchar(80) not null,
    productdate datetime not null,
    nownumber int not null
    );
    create table orders
    (
    orderid int primary key,
    productid int not null,
    buynumber int not null default 1,
    buypricr money not null,
    noworderprice money default 0
    )
    create table logs
    (
    id uniqueidentifier primary key,
    operatedatetime datetime,
    productid int ,
    oldprice money,
    newprice money
    )
    insert into store values(newid(),1001,5000,'联想','2013-5-6',50)
    insert into store values(newid(),1002,6000,'apple','2013-5-6',50)
    insert into orders(orderid,productid,buynumber,buypricr)
    values(10013,1001,5,6000)
    --select * from store left join  orders on store.productid=orders.productid
    --创建触发器
    /*2,创建订单表插入触发器,实现插入一条订单信息,商品表中商品数量相应减少,订单中的总金额相应增加。
    
        3,创建订单表更新触发器,实现更新一条订单信息,商品表中商品数量相应变化,订单中的总金额相应变化。(和2类似)
    
        4,创建日志表触发器,实现更新商品表价格变化情况。
    */
    create trigger tri_order_noworderprice
    on orders after insert
    as 
    begin
       declare @noworderprice money;
       declare @buynumber int;
       declare @productid int;
       select @productid=productid,@buynumber=buynumber from inserted;
       select @noworderprice=inserted.buynumber*inserted.buypricr from inserted;
       update orders set noworderprice=@noworderprice where productid=@productid;
       update store set nownumber=nownumber-@buynumber where productid=@productid;
    end;
  • 相关阅读:
    Linux操作_常用命令操作练习
    Linux编程_Shell脚本练习题
    Linux操作_grep/egrep工具的使用
    Linux中的链接文件_软链接和硬链接
    Linux操作_磁盘管理_增加虚拟磁盘
    Linux命令_磁盘管理_查看磁盘或目录的容量
    Linux命令_用户身份切换
    使用Unity中的Box Collider组件完成游戏场景中的碰撞检测功能
    在Unity场景中更改天空盒的步骤
    Linux命令_用户和用户组管理
  • 原文地址:https://www.cnblogs.com/zhanying/p/3399223.html
Copyright © 2011-2022 走看看