'alias'에 해당되는 글 1

  1. 2009.01.08 UPDATE에서 alias(별칭) 부여 하기
IT_Expert/DataBase | Posted by 낫기법필 2009. 1. 8. 13:11

UPDATE에서 alias(별칭) 부여 하기



UPDATE a
  SET <update target column of a> = <value>
 FROM
  <update target table> a,
  <join target table > b
 where
  a.<column> = b.<column>;

ps.

In Oracle

update table a
set column = (select value from table b where a.<column> = b.<column>)
where
<boundary condition>;

[출처] http://sowhat.tistory.com/42

----------------------------------------------------------------------------------



> 하진홍 님이 쓰신  글
> ----------------------------------------------------------
> update문다음에 From 을 쓸수 있나요. 잘 모르겠는데 좀 더 자세히 설명 부탁드려요
>
> > 철 님이 쓰신  글
> > ----------------------------------------------------------
> > from 을 사용 하세여..
> > SQL 책이 있으시면 from 을 사용 하는 것이 나올 겁니다..
> > 그럼 from절에서 알리아스를 하면 되겠져... ^^
> >
> > > 하진홍 님이 쓰신  글
> > > ----------------------------------------------------------
> > > UPDATE ACC107 a
> > > SET a.last_amt = (SELECT b.last_amt     
> > >                 FROM ACC106 b
> > >                      WHERE b.acc_date  = '2000-10-01'
> > >                        AND b.acc_unit  = a.acc_unit    
> > >                   AND b.acct_code = a.acct_code) 
> > > WHERE a.acc_date = '2000-10-31'
> > >
> > > 상기문장은 'acc107 a' 때문에 오류가 발생합니다. Update문뒤의 table에서는
> > alias
> > > 를 사용할수 없는 것인지? 만약 사용할수 없다면 위 문에서 acc106과 acc107의 필
> 드
> > 이
> > > 름이 같은데 비교할수 없는 건지 좀 알려주세요.
> > > 그럼 좋은 하루 되세요.
> >
>
아래와 같이 변경해서 한번 사용해보세요...

UPDATE ACC107
   SET last_amt = b.last_amt     
FROM ACC107 a , ACC106 b
WHERE a.acc_date   = '2000-10-31'
      AND a.acct_code = b.acct_code
      AND b.acc_date   = '2000-10-01'
      AND b.acc_unit    = a.acc_unit    

[출처] http://sqler.pe.kr/web_board/view_list.asp?id=13484&read=164&pagec=&gotopage=3508&block=0&part=MyBoard1