現在有一個任務,有一批的命令,都是update ,insert,delete 的批操作。
還有一個要求,在執行操作時需要記錄下更新資料的歷史狀態。
例如:
update tab1 set col='**',col2='***' where id in (select tid from tab2 where enable='Y')
我的處理是這樣的:
1.首先決議后得到:
select * from tab1 where id in (select tid from tab2 where enable='Y')
2.執行select 將歷史資料保存到另外的地方。
3.執行update 命令
問題是,我要怎么決議出這個select陳述句呢?
陳述句不算太復雜,都是單句陳述句。
那么親,能提供好辦法嗎?
uj5u.com熱心網友回復:
不就是決議出 where 子句嗎?但你舉例中有 insert,插入指令是沒有 where 子句的,屆時你打算如何處理?
uj5u.com熱心網友回復:
insert 的就不需要決議了,
而且我想先把update 、delete 型別的sql 決議出來再看Update的。
而且從update 中決議出 where 子句,也不是那么容易吧,還是要考慮陳述句的多樣性的
uj5u.com熱心網友回復:
老鐵 你們這個功能怎么實作的uj5u.com熱心網友回復:
這個需求,如果update實際上是添加一條新資料,查看的時候就是看最新這一條,歷史就是前幾條。這樣會不會好一點呢?
uj5u.com熱心網友回復:
滾奧,才發現是好幾年前的墳貼。uj5u.com熱心網友回復:
寫事務,更新 洗掉,新增先備份到備份表轉載請註明出處,本文鏈接:https://www.uj5u.com/net/76305.html
標籤:C#
