我有两个表,主表和当前表(每小时刷新一次)。两张table的结构相同:
chk |描述|状态|日期
如果出现以下情况,我需要更新/追加(添加新行)到主表中:
1) 具有新ID的行或
2) 如果某个特定变量(本例中为“state”)已更改。我试着用下面的方法来做,但没有成功:
INSERT into AGILE_TICKETS_DLY
SELECT * FROM CURR_AGILE_TICKETS curr
WHERE EXISTS (SELECT * FROM AGILE_TICKETS_DLY mstr
WHERE (curr.chk != mstr.chk) OR ( curr.chk = mstr.chk and
mstr.state != curr.state))
关于如何做到这一点有什么建议吗?
2条答案
按热度按时间34gzjxbg1#
我试着分两步来做:
1) 首先,我用id追加所有新行:这很有效
但后来,我试着在下面做了一个错误
2) 然后用新值替换“state”变量:
但这给了我一个错误:
sql错误(1364):字段“chk”没有默认值。
那是什么意思?
mitkmikd2#
您可以尝试这对查询:
插图: