weixin_52389391 2022-06-01 22:52 采纳率: 42.9%
浏览 47
已结题

sql server 触发器的应用

两个表,一个时“账户信息表”(字段:卡号、姓名、开户行),其中,卡号设置了主键,只能唯一;
另一个表时“交易明细表”(字段:交易卡号、 交易方姓名 、交易时间 、交易金额、对手卡号、对手名称)
如何用触发器,在添加交易明细时候,自动将交易卡号和交易对手卡号及交易双方姓名增加在账户信息表的卡号字段/姓名字段里,已存在的不添加。

  • 写回答

3条回答 默认 最新

  • 一把编程的菜刀 2022-06-02 09:55
    关注
    获得2.70元问题酬金
    CREATE trigger 触发器名 on [交易明细表]
    FOR INSERT
    as
      begin
        -- 交易方卡号
        DECLARE @id     varchar(20)
        -- 交易方姓名
        DECLARE @name   varchar(20)
        -- 交易对手卡号
        DECLARE @ids     varchar(20)
        -- 交易对手姓名
        DECLARE @names   varchar(20)
        -- 在inserted表中查询已经插入记录信息
         select @id = 交易卡号, @name = 交易方姓名,@ids = 对手卡号, @names = 对手姓名 from inserted;
        -- 在户信息表表中查询交易卡号是否存在,不存在就插入
         IF NOT exists(SELECT * FROM 账户信息表 WHERE 卡号=@id)
           insert into 账户信息表(卡号,姓名)values(@id,@name);
        -- 在户信息表表中查询交易对手卡号是否存在,不存在就插入 
         IF NOT  exists(SELECT * FROM 账户信息表 WHERE 卡号=@ids)
         insert into 账户信息表(卡号,姓名)values(@ids,@names);
      
      end
    
    
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 6月9日
  • 修改了问题 6月1日
  • 创建了问题 6月1日

悬赏问题

  • ¥15 ensp路由器启动不了一直报#
  • ¥50 安卓10如何在没有root权限的情况下设置开机自动启动指定app?
  • ¥15 ats2837 spi2从机的代码
  • ¥200 wsl2 vllm qwen1.5部署问题
  • ¥100 有偿求数字经济对经贸的影响机制的一个数学模型,弄不出来已经快要碎掉了
  • ¥15 数学建模数学建模需要
  • ¥15 已知许多点位,想通过高斯分布来随机选择固定数量的点位怎么改
  • ¥20 nao机器人语音识别问题
  • ¥15 怎么生成确定数目的泊松点过程
  • ¥15 layui数据表格多次重载的数据覆盖问题