Sql 基本oracle更新语句
我正在使用oracle编写一个存储过程。我不熟悉oracle和存储过程,但我尝试做的事情似乎相当直截了当,但我遇到了麻烦 我有两个表Sql 基本oracle更新语句,sql,oracle,stored-procedures,Sql,Oracle,Stored Procedures,我正在使用oracle编写一个存储过程。我不熟悉oracle和存储过程,但我尝试做的事情似乎相当直截了当,但我遇到了麻烦 我有两个表BATCH\u ISA和BATCH\u TEMP 临时表是使用批处理ISA中的记录以及一些其他表创建的。在记录成功移动到BATCH\u TEMP表中后,我需要将BATCH\u ISA表中的标志从“Y”更新为“N” 我正在尝试更新BATCH_ISA中的所有记录,其中ISA_KEY字段位于两个表中,并将标志设置为“N” 我应该使用的基本update语句是什么 -- SE
BATCH\u ISA
和BATCH\u TEMP
临时表是使用批处理ISA中的记录以及一些其他表创建的。在记录成功移动到BATCH\u TEMP
表中后,我需要将BATCH\u ISA
表中的标志从“Y”更新为“N”
我正在尝试更新BATCH_ISA
中的所有记录,其中ISA_KEY
字段位于两个表中,并将标志设置为“N”
我应该使用的基本update语句是什么
-- SET EVERYTHING TO 'N' FIRST:
UPDATE BATCH_ISA
SET
FLAG = 'N';
-- NOW UPDATE ONLY MATCHED ROWS TO 'Y':
UPDATE BATCH_ISA
SET
FLAG = 'Y'
WHERE
EXISTS (
SELECT * FROM BATCH_TEMP
WHERE BATCH_ISA.ISA_KEY = BATCH_TEMP.ISA_KEY
);
COMMIT;
我在第一次更新后删除了提交,但是如果有很多行,您可以使用它来节省重做日志开销