Oracle11g 在插入之前,如何检查表以查看行是否已经存在?
这是我的剧本。试图通过比较deptno来确定检查行是否已存在的最佳方法Oracle11g 在插入之前,如何检查表以查看行是否已经存在?,oracle11g,sqlplus,Oracle11g,Sqlplus,这是我的剧本。试图通过比较deptno来确定检查行是否已存在的最佳方法 CREATE OR REPLACE PROCEDURE insert_rows (pl_deptno dept.deptno%TYPE, pl_dname dept.dname%TYPE, pl_loc dept.loc%TYPE ) AS BEGIN INSERT INTO dept (deptno,dname,loc) values ( pl_deptno,pl_dna
CREATE OR REPLACE PROCEDURE insert_rows
(pl_deptno dept.deptno%TYPE, pl_dname dept.dname%TYPE, pl_loc dept.loc%TYPE
) AS
BEGIN
INSERT INTO dept
(deptno,dname,loc)
values ( pl_deptno,pl_dname,pl_loc);
end insert_rows;
/
如果deptno是唯一键,只需插入一行即可。如果存在重复,捕获异常并执行所需操作 否则,如果两个用户同时插入/检查,您将获得需要处理事务的各种竞争条件