zoukankan      html  css  js  c++  java
  • 触发器--游标--示例

    create table bank
    (
     cname nvarchar(10) primary key not null,
     cmoney money
    )
    go
    insert into bank values('张三',1000);
    insert into bank values('李四',1);
    go
    create table trans
    (
     id int identity(1,1) primary key not null,
     cname nvarchar(10),
     ctype nchar(2),
     tmoney money
    ) ;

    alter table bank add constraint ck_cmoney check(cmoney>=1);


    insert into trans values('张三','支取',100);
    update bank set cmoney=cmoney-100 where cname='张三';

    select * from trans;
    select * from bank;

    //inserted deleted

    insert into trans  
    select '张三','支取',100 union
    select '张三','支取',200

    --------------------------------------------------------

    drop trigger mytrans
    go
    create trigger mytrans on trans for insert
    as
    declare @cname nvarchar(10);
    declare @ctype nchar(2);
    declare @tmoney money;
    declare mycursor cursor for
      select cname,ctype,tmoney from inserted;

    open mycursor;
    Fetch next from mycursor into @cname,@ctype,@tmoney;
    WHILE @@FETCH_STATUS = 0
    begin
     if(@ctype='支取')
     update bank set cmoney=cmoney-@tmoney where cname=@cname;
    else
     update bank set cmoney=cmoney+@tmoney where cname=@cname;
     Fetch next from mycursor into @cname,@ctype,@tmoney;
    end
    CLOSE mycursor;
    DEALLOCATE mycursor;
    go

        



  • 相关阅读:
    CSU
    ACM-ICPC Beijing Online A The Book List
    约瑟夫环问题
    HDOJ-1124 Factorial 数论
    玲珑杯 ACM热身赛 #2.5 A 记忆化搜索+瞎搞
    CF 711B
    hdu-4289 最大流Dinic模板题
    最大流朴素算法
    HDU-3729 二分匹配 匈牙利算法
    二分图匹配-匈牙利算法
  • 原文地址:https://www.cnblogs.com/wahaccp/p/3278981.html
Copyright © 2011-2022 走看看