2013-03-30 4 views
0

Это мой сценарий. Попытка определить лучший способ проверить, если строка уже существует, сравнивая 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_dname,pl_loc); 
    end insert_rows; 
    /

ответ

0

Если DEPTNO является уникальным ключом, просто вставить строку. Если есть дубликат, поймайте исключение и сделайте то, что необходимо.

В противном случае вы получаете все виды условий гонки, которые требуют обработки транзакций, если два пользователя вставляют/проверяют в одно и то же время.

Смежные вопросы