数据库中的库存表(balance),此表想根据bar_code值修改BATCH_NUM,created_date,last_upd_date 三个字段的值,现寻求高手给一条sql语句将BATCH_NUM 字段值改成10(默认的是22);created_date,last_upd_date都获取系统当前时间;
附注:select t.*,t.rowid from balance
set t.batch_num = '10', t.created_date = sysdate, t.last_upd_date = sysdate
where t.bar_code in ('')
BATCH_NUM还是需要手动修改;如果bar_code数量多的话,手动修改batch_num会很麻烦,现寻求sql语句能自动更新batch_num值22到10
附注:select t.*,t.rowid from balance
set t.batch_num = '10', t.created_date = sysdate, t.last_upd_date = sysdate
where t.bar_code in ('')
BATCH_NUM还是需要手动修改;如果bar_code数量多的话,手动修改batch_num会很麻烦,现寻求sql语句能自动更新batch_num值22到10
where bar_code in ('') and batch_num = 22
update balance
set batch_num = '10', created_date = sysdate, last_upd_date = sysdate
where batch_num = '22'
where bar_code in ('') 楼主有别的需求吧,不然這100分花的不太值呀
select t.*,t.rowid from balance
set t.batch_num = '10', t.created_date = sysdate, t.last_upd_date = sysdate
where t.bar_code in ('') 这个sql是什么意思呀。
其中的这个 t.bar_code in ('') 有些怪异哟。
1。 t.bar_code in ('') 如果你是想表示barcode为空的话,请用t.bar_code is null2. IN 这个关键字少用, 因为它不会使用INDEX
可以用触发器,当''里的取值有变动时,自动对blanch进行修改
create trigger after_blanch_update
after update of
on ....set t.batch_num = '10', t.created_date = sysdate, t.last_upd_date = sysdate
where t.bar_code in ('') 后面加上一个条件 and t.batch_num='22'
避免造成重复修改