[질문 드립니다]다른 테이블의 데이터를 매시각 insert 하는 방법! 0 1 1,069

by 지금부터 [Oracle 기초] 프로시저 sp [2020.03.09 00:20:41]


안녕하세요?

아..이거 정말 간단해보이는데 진짜 안되네요.

사흘 잡고 있으니 약이 올라 죽겠습니다.

서버 1의 user라는 테이블에서 join_date가 오늘인 id, name, moble 컬럼만 
서버2의 user_info라는 테이블의 userid, username, phone 컬럼으로 매시각 업데이트를 하려고 합니다.
참고로 서버2의 dblink 이름은 @server2입니다.

'쿼리 작성 --> 프로시저 생성 --> 오라클 스케줄러 등록' 순서로 진행하면 될 거 같은데
이거 아무리 해봐도 안됩니다.

--쿼리--
insert into user(id,name,mobile)
select userid, username, phone from user_info@server2
where join_date = sysdate and
not exists
(
 select id from user--id가 PK라 중복 불가
)

이거 쿼리가 맞나요?

왜 안될까요?

그리고 프로시저는 대체 어떻게 만들면 될까요? ㅠㅠ

도와주시면 감사하겠습니다.

 

by 마농 [2020.03.09 08:34:25]

1. 우선 Insert 부분 뺴고 Select 부분만 실행해 보세요.
 - 날짜 조건이 틀린 듯 하고. -> 자료형에 따라, 검색범위에 따라 조건 주는 방법이 다릅니다.
 - not exists 구문도 틀렸습니다. -> id 비교조건이 추가되어야 합니다.
2. 프로시저는 공부를 좀 하셔야 합니다.
 - 위와 같이 간단한 쿼리는 그냥 begin ~ end 사이에 넣으면 됩니다.
 - http://gurubee.net/oracle/plsql

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입