tiankeyi 2022-07-18 16:26 采纳率: 78.6%
浏览 115
已结题

oracle 触发器创建

oracle创建一个触发器,有一张表结构如下

img

我想求的是如果插入一条新数据,dept_name为南京,不插入dept_code 的情况下,根据dept_name,给他加上320110
用触发器做,每插入一行执行一次
代码如下
create table ceshi (id number,name VARCHAR2(50),dept_name VARCHAR2(50),dept_code VARCHAR2(50))
insert into ceshi values(1,'zhangsan','北京','110000');
insert into ceshi values(2,'zhangsan','上海','310000');
insert into ceshi values(3,'zhangsan','南京','320100');
insert into ceshi values(4,'zhangsan','深圳','440300');
insert into ceshi values(5,'zhangsan','广州','440100');
commit;
select * from ceshi

  • 写回答

2条回答 默认 最新

  • 心寒丶 全栈领域优质创作者 2022-07-18 17:05
    关注

    create or replace trigger TRI_testnotnull
    before insert on ceshi
    for each row
    declare
    v_dept varchar2(50);

    PRAGMA AUTONOMOUS_TRANSACTION;
    begin
    select a.dept_code into v_dept from ceshi a where a.dept_name='南京';
    if :new.dept_code is null
    then
    :new.dept_code:=v_dept;

    end if;
    end TRI_testnotnull;

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月26日
  • 已采纳回答 7月18日
  • 修改了问题 7月18日
  • 创建了问题 7月18日

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算