FireBird Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
파이어버드 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
IBPhoenix
FireBird Main site
볼랜드포럼 광고 모집

FireBird Q&A
[2081] MERGE문 비슷하게 하려면 어떻게...
이동원 [] 1371 읽음    2006-07-08 07:19
오라클에선 다음처럼 머지문이 있는데 파이어버드는 없는지요?
없으면 비슷한 예문 좀 부탁드립니다.
초보라서 어떻게 작성해야 할 지 난감합니다.
다음은 검색해서 얻은 merge statement 입니다.
감사합니다.
***********************************************

테이블에 있는 값이라면

update 문장을 같은 값을 주고

없는 경우에는 임의의 값으로 insert 하면 될 것 같습니다.

문법은 아래와 같습니다.



MERGE INTO 테이블 명 [별명]
USING {대상 테이블|뷰|} [별칭]
ON 조인 조건
WHEN MATCHED THEN
   UPDATE SET  컬럼명 = 값,
                …………….
WHEN NOT MATCHED THEN
   INSERT [(컬럼 명, …)]
   VALUES (값, …);



이에 대한 설명은 다음과 같습니다.참고하세요.

-. 추가하는 데이터가 테이블에 존재하지 않을 때는 INSERT가 수행되고, 이미 데이터가
   존재할 경우에는 UPDATE가 수행된다.
-. MERGE문장 작성 순서
   1. 새로운 행이 추가되거나 갱신이 될 테이블을 지정한다.
   2. 다른 테이블을 참조하여 데이터를 비교한다면 대상 테이블 명을 별칭과 함께 정의한다.
   3. 새로운 행을 추가하려고 하는 테이블과 대상 테이블 간에 조인이 필요하면 ON절을
       활용 한다.
   4. 조인 조건에 의해 만족하는 데이터가 있을 경우엔 UPDATE가 수행되고 만족하는
       데이터가 존재하지 않으면 INSERT문이 수행된다.

+ -

관련 글 리스트
2081 MERGE문 비슷하게 하려면 어떻게... 이동원 1371 2006/07/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.