我有大约 60,000 行需要将信息从 column_a 更新到 column_b。例如,60,000 名客户需要他们的到达时间来匹配他们的离开时间。我知道我可以用一行来做到这一点,它可以在更新语句中使用嵌套的 select 语句。当我尝试更新多行时,我相信我必须拥有 60,000 个唯一的密钥标识符。
这是我用来更新 1 条记录的方法,我使用的是 Oracle SQL:
UPDATE patient
SET discharge_dt = (SELECT admit_dt
FROM patient
WHERE pat_seq = 'XXXXXX')
WHERE facility_id = 'X'
AND pat_seq = 'XXXXXX'
Run Code Online (Sandbox Code Playgroud)
为令人困惑的描述道歉,我本人并不是真正的数据库管理员。
对此的任何帮助将不胜感激。
如果您只想discharge_dt
用admit_dt
同一行中的覆盖,听起来您只需要
UPDATE patient
SET discharge_dt = admit_dt
WHERE facility_id = 'X'
AND pat_seq IN (<<query that returns the 60,000 keys>>)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
33091 次 |
最近记录: |