여러 행 SELECT해서 INSERT 하기

여러 행을 가지고 한번에 인서트를 해야할 경우가 최근에 꽤 있었다. 한쪽 테이블에서 어떤 조건으로 셀렉트해서 다른쪽 테이블에 한꺼번에 넣어주기... 그렇게 흔한 상황은 아니지만 충분히 있을법한 상황이다.

처음에는 이걸 할줄 몰라서 SELECT해와서 루프돌면서 인서트를 날려줬다. 아~ 느려.. ㅡ..ㅡ 갯수가 그렇게 많지 않았으니까 다행이지.......

INSERT INTO table_a
( title, name, regdate, register, memberid, categoryid )
SELECT title, name, regdate, register, memberid, categoryid
FROM table_b
WHERE categoryid=10

위에처럼 해주면 인서트문 한방으로 수십, 수백줄의 행을 추가해 줄 수 있다. 솔직히 이거 하기 전에는 INSERT는 한번에 하나만 되는 줄 알았다. ㅋ WHERE절은 SELECT문에 딸린 조건문이다. INSERT문이 아니라.... 이렇게 SELECT로 할 때는 원래의 INSERT문에 들어가는 VALUES는 들어가지 않고 당연한 얘기로 INSERT할 컬럼수와 SELECT하는 컬럼수 및 타입이 동일해야 된다.

SQL책하나 보고 좀 감오나 했더니 복잡한 쿼리 오니까 다시 헷갈리는 구만...
2009/01/06 02:02 2009/01/06 02:02
크리에이티브 커먼즈 라이센스
Creative Commons License

Trackback URL : http://blog.outsider.ne.kr/trackback/263

Leave a Reply

Facebook Comments

  • Categories

    List (769)
    BlaBlaBla~ (114)
    JAVA (128)
    Scala (49)
    .NET (21)
    PHP (1)
    Database (29)
    Programming (109)
    Publishing (35)
    Javascript (117)
    node.js (60)
    CoffeeScript (10)
    Ruby on Rails (11)
    RIA (10)
    Web 2.0 & Semantic (46)
    Ubuntu (6)
    Mobile (23)
  • Tag Cloud

  • Calendar

    «   2012/05   »
        1 2 3 4 5
    6 7 8 9 10 11 12
    13 14 15 16 17 18 19
    20 21 22 23 24 25 26
    27 28 29 30 31    
  • Archives

  • Node.js 프로그래밍
    JavaScript JS Documentation: JS RegExp lastIndex, JavaScript RegExp lastIndex, JS RegExp .lastIndex, JavaScript RegExp .lastIndex
    SAVE THE
    DEVELOPERS <!>
    Upgrade IE 6 Now!
  • Recent Posts

  • Recent Comments

  • Recent Trackbacks

  • Recent My Delicious

  • Site Stats

    • Total hits: 1599943
    • Today: 431
    • Yesterday: 2073
  • 2397

    1714

    0

    -30 days

    today : 431

    Google PageRank Checker Powered by  MyPagerank.Net