我在Firebird中有两个表,其中包含以下字段:
TABLEA: KEY, ITEM, LAST_SALE_DATE
TABLEB: KEY, ROT
两者都与关键相关。它们使用关键字段引用相同的项目。
我想更新TABLEB.ROT='A' where TABLEA.LAST_SALE_DATE>01/01/2016
。
我无法确定如何发表声明,请帮助。
答案 0 :(得分:3)
有几种方法可以做到这一点。首先,您可以通过对TABLEB
进行存在检查来关联TABLEA
update TABLEB b set b.ROT = 'A'
where exists (
select 1
from TABLEA a
where a.KEY = b.KEY and a.LAST_SALE_DATE > DATE '2016-01-01')
:
merge into TABLEB b
using TABLEA a
on a.KEY = b.KEY and a.LAST_SALE_DATE > DATE '2016-01-01'
when matched then
update set b.ROT = 'A'
另一种方法是使用update:
public class MySwitch : Switch
{
}