안녕하세요?
아..이거 정말 간단해보이는데 진짜 안되네요.
사흘 잡고 있으니 약이 올라 죽겠습니다.
서버 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라 중복 불가
)
이거 쿼리가 맞나요?
왜 안될까요?
그리고 프로시저는 대체 어떻게 만들면 될까요? ㅠㅠ
도와주시면 감사하겠습니다.
1. 우선 Insert 부분 뺴고 Select 부분만 실행해 보세요.
- 날짜 조건이 틀린 듯 하고. -> 자료형에 따라, 검색범위에 따라 조건 주는 방법이 다릅니다.
- not exists 구문도 틀렸습니다. -> id 비교조건이 추가되어야 합니다.
2. 프로시저는 공부를 좀 하셔야 합니다.
- 위와 같이 간단한 쿼리는 그냥 begin ~ end 사이에 넣으면 됩니다.
- http://gurubee.net/oracle/plsql