如何执行数据复制

录像机

我必须scl_tb在其中更新薪水列。

但是我的问题是,在更新薪水列数据复制时,应该在另一个表中进行upd_tb,如下所示

SELECT * FROM scl_tb;

id  Name  salary 
-----------------
1    A      100  
2    B      200  
3    C      400  
4    D      700  

需要如下输出

SELECT * FROM up_tb;

SI_NO  id  Name  new_sal  old_sal  ind
----------------------------------------
 1      1   A      0        100     N
 2      1   A      150      100     U
 1      2   B      220      200     U
 2      2   B      0        220     N
 3      1   A      400      150     U
 1      3   C      410      400     U

我们如何编写SQL statement或使用TRIGGER

如果这两种方法或任何一种方法也都给出了解决方案。

大卫

首先,您在up_tb中的数据存在问题。在第二行中,old_sal应为0因为好像我理解正确,old_sal列包含雇员的先前薪水或其他任何东西。因此,该表应如下所示。

SI_NO  id  Name  new_sal  old_sal             ind
--------------------------------------------------
 1      1   A      0        100                N
 2      1   A      150       0 (not 100)       U

因此,解决方案将是一个简单的行触发器。

CREATE OR REPLACE TRIGGER update_table 
    AFTER UPDATE OR INSERT ON scl_tb 
    FOR EACH ROW
DECLARE
    CURSOR c_up_tb IS SELECT COUNT(*) cnt FROM up_tb ut WHERE ut.id = :NEW.id;
    v_cnt c_up_tb%rowtype;
    v_status up_tb.ind%type;
BEGIN
   v_status := 'U';

   IF inserting THEN
       v_status := 'N';
   END IF;

   OPEN  c_up_tb;
   FETCH c_up_tb INTO v_cnt;
   CLOSE c_up_tb; 

   INSERT INTO up_tb VALUES ( v_cnt.cnt+1, :NEW.id, :NEW.name, :NEW.salary, NVL(:OLD.salary, 0), v_status); 

END;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何执行数据类型构造检查

来自分类Dev

熊猫-如何并行处理循环执行数据子集

来自分类Dev

如何执行数据传输API?

来自分类Dev

如何使用pentaho PDI(勺)执行数据屏蔽?

来自分类Dev

如何独立执行数据库操作?

来自分类Dev

如何在doinbackground中访问预执行数据?

来自分类Dev

执行数据库

来自分类Dev

在插入之前执行数据获取

来自分类Dev

部署War时如何执行数据库执行

来自分类Dev

如何在不执行数据库查询的情况下创建新记录?

来自分类Dev

在Yesod应用程序中如何在GHCi中执行数据库查询

来自分类Dev

Symfony2,如何使用下拉列表在Doctrine中执行数据库检索?

来自分类Dev

如何在AWS Quicksight中安排或自动执行数据集刷新

来自分类Dev

如何通过vb.net中的label.Text执行数据

来自分类Dev

在数据库中如何对表内容执行数学运算

来自分类Dev

在Yesod应用程序中如何在GHCi中执行数据库查询

来自分类Dev

如何在具有三个字段的SQL中执行数据透视?

来自分类Dev

如何编写类以执行数据库操作-Spring整数

来自分类Dev

onMessageReceived 触发时如何执行数据库操作?

来自分类Dev

要使用XAMPP MySql执行数据库复制,Master和Slave是否需要具有相同的版本?

来自分类Dev

根据变量执行数据流任务?

来自分类Dev

Cabal:可执行数据文件

来自分类Dev

流星:定期执行数据库操作

来自分类Dev

执行数据库查询时出错

来自分类Dev

片段中的AsyncTask执行数据库更新

来自分类Dev

宁静的方式来执行数据更改操作

来自分类Dev

SSRS 2008:对布尔值执行数据集

来自分类Dev

Python:传递时始终监听并执行数据

来自分类Dev

在PostgreSQL中自动执行数据库备份

Related 相关文章

热门标签

归档