반응형
Oracle에서 조건부 업데이트를 구현하려면 어떻게 해야 합니까?
오라클을 처음 접했는데 SQL 쿼리 중 하나에 문제가 있습니다.
사용자는 2명입니다.User1
그리고.User2
:
탭1 탭2-------- -------- 엠프노엠프노EmpName EmpName연락처 급여 없음위치
User2는 User1에서 모든 권한을 가집니다.Tab1, 그리고 두 테이블 사이에는 외국 키 관계가 없습니다.
문제:
탭2에 열을 추가하고 싶었습니다."NameDesignation
" 그리고 다음 조건을 확인한 후 이 컬럼에 값을 삽입하고자 했습니다.
WHEN User1.Tab1.EmpNo = User2.Tab2.EmpNo THEN
INSERT INTO Tab2 VALUES (&designation)
저는 정말 어떻게 해야 할지 모르겠어요, 그리고 약간의 도움을 바라고 있었어요.무슨 생각 있어요?
시도해 보십시오.
update user2.tab2.empno t2
set NameDesignation= &designation
where exists (select ''
from user1.tab1 t1
where t1.empno=t2.empno)
(편집된 질문과 일치하도록 문이 업데이트됨)
방아쇠가 필요할 겁니다
삽입 또는 업데이트 후:
CREATE OR REPLACE TRIGGER tab1_after_changed
AFTER INSERT OR UPDATE
ON tab1
FOR EACH ROW
BEGIN
DELETE FROM User2.Tab2 WHERE EmpNo=:NEW.EmpNo;
INSERT INTO User2.Tab2(EmpNo,EmpName,NameDesignation)
VALUES (:NEW.EmpNo,:NEW.EmpName, (SELECT DesignationName FROM Designation where DesignationID=:NEW.DesignationID));
END;
나는 방금 Designation(지정)이 있는 테이블을 상상했습니다.ID 번호, 지정 이름 varchar2(xx)) 및 지정이 있는 Tab1ID(번호).
언급URL : https://stackoverflow.com/questions/585090/how-can-i-implement-conditional-updating-in-oracle
반응형
'programing' 카테고리의 다른 글
오프셋이 있을 때 WP_Query 결과를 호출하려면 어떻게 해야 합니까? (0) | 2023.10.19 |
---|---|
XDocument 또는 XmlDocument (0) | 2023.10.19 |
도커 파일에서 RUN과 CMD의 차이 (0) | 2023.10.19 |
정지된 도커 컨테이너를 다른 명령으로 시작하는 방법? (0) | 2023.10.19 |
브라우저에서 HTTP 요청이 열려 있는지 확인하는 방법은? (0) | 2023.10.19 |