복붙노트

[SQL] INSERT INTO 대 INSERT

SQL

INSERT INTO 대 INSERT

내가 사용하는 구문 경향이 테이블에 데이터를 삽입 할 때마다 어떻게 든 당분간 MS SQL에서 T-SQL 작업을하고있다 :

INSERT INTO myTable <something here>

그 키워드 INTO 여기에 선택 사항을 이해하고 나는 그것을 사용하지 않아도 어떻게 든 내 경우에는 습관으로 성장했다.

내 질문은 :

해결법

  1. ==============================

    1.INSERT INTO는 표준입니다. INTO는 대부분의 구현에서 선택 사항에도 불구하고, 그래서 당신의 코드가 이식성이 있는지 확인을 포함하는 것이 좋습니다 몇 필요합니다.

    INSERT INTO는 표준입니다. INTO는 대부분의 구현에서 선택 사항에도 불구하고, 그래서 당신의 코드가 이식성이 있는지 확인을 포함하는 것이 좋습니다 몇 필요합니다.

    당신은 여기에 SQL 표준의 여러 버전에 대한 링크를 찾을 수 있습니다. 여기 이전 표준의 HTML 버전을 발견했다.

  2. ==============================

    2.그들은 같은 일이, INTO는 T-SQL에서 완전히 선택 사항입니다 (다른 SQL 언어가 다를 수 있습니다).

    그들은 같은 일이, INTO는 T-SQL에서 완전히 선택 사항입니다 (다른 SQL 언어가 다를 수 있습니다).

    다른 답변과는 달리, 나는 그것이 INTO를 사용하여 가독성을 저해 생각합니다.

    나는 그것이 개념적 일이 생각 : 내 인식에서, 나는 "고객"라는 이름의 테이블에 행을 삽입하고 있지 않다,하지만 난 고객을 삽입하고있다. (이것은 내가 단수, 복수하지 내 테이블 이름을 사용한다는 사실에 연결).

    첫 번째 개념을 따른다면, INSERT INTO 고객이 가장 가능성이 당신을 위해 "바로 느낌"것이다.

    두 번째 개념을 따른다면, 그것은 가장 가능성이 당신을 위해 INSERT 고객이 될 것입니다.

  3. ==============================

    3.그것은 MySQL의에서 선택 사양 일 수 있지만, 예를 들어 Oracle 용, 다른 DBMS를에 필수입니다. 그래서 SQL은 더 잠재적 포터블 INTO 키워드와 함께, 무엇의 가치에 대한 것입니다.

    그것은 MySQL의에서 선택 사양 일 수 있지만, 예를 들어 Oracle 용, 다른 DBMS를에 필수입니다. 그래서 SQL은 더 잠재적 포터블 INTO 키워드와 함께, 무엇의 가치에 대한 것입니다.

  4. ==============================

    4.나는이 문제에 대해 배웠어 하나의 교훈은 당신이 항상 일관성을 유지해야한다는 것입니다! 당신이 INSERT INTO를 사용하는 경우뿐만 아니라 INSERT를 사용하지 마십시오. 당신이 그것을하지 않으면, 일부 프로그래머들은 다시 같은 질문을 요청할 수 있습니다.

    나는이 문제에 대해 배웠어 하나의 교훈은 당신이 항상 일관성을 유지해야한다는 것입니다! 당신이 INSERT INTO를 사용하는 경우뿐만 아니라 INSERT를 사용하지 마십시오. 당신이 그것을하지 않으면, 일부 프로그래머들은 다시 같은 질문을 요청할 수 있습니다.

    여기 내 다른 관련 예제의 경우는 다음과 같습니다 나는 문제는 너무 많은 데이터가 결과 테이블에 삽입 된 것입니다 MS SQL 2005에서 매우 매우 긴 저장 프로 시저를 업데이트 할 수있는 기회를 가졌다. 나는 데이터가 어디에서 왔는지 알 수 있었다. 나는 새로운 기록이 추가 된 곳을 찾기 위해 노력했다. SP의 시작 부분에서, 나는 여러 삽입 INTOs을 보았다. 그 때 나는 그들에게 "INSERT INTO"를 찾아 업데이트하려했지만 난 단지 "INSERT"이 사용 된 한 곳을 놓쳤다. 그 하나는 실제로 일부 열에서 빈 데이터의 4K + 행을 삽입! 물론, 난 그냥 INSERT를 검색합니다. 그러나, 나에게 일어났다. 나는 이전 프로그래머 바보를 비난 :)

  5. ==============================

    5.SQL Server 2005에서는이 같은 INSERT와 INTO 사이에 뭔가를 할 수 :

    SQL Server 2005에서는이 같은 INSERT와 INTO 사이에 뭔가를 할 수 :

    INSERT top(5) INTO tTable1 SELECT * FROM tTable2;
    

    그것은 INTO없이 작동하지만, 나는 가독성을 위해 INTO를 사용하여 선호합니다.

  6. ==============================

    6.둘은 같은 일을한다. INTO는 (SQL 서버 T-SQL에서) 선택 사항이지만 가독성을 도움이됩니다.

    둘은 같은 일을한다. INTO는 (SQL 서버 T-SQL에서) 선택 사항이지만 가독성을 도움이됩니다.

  7. ==============================

    7.나는 그것을 사용하여 선호합니다. 이 그룹에 의해, 주문 BY와 같은 SQL 언어의 다른 부분과 같은 구문 묘사의 느낌과 가독성을 유지합니다.

    나는 그것을 사용하여 선호합니다. 이 그룹에 의해, 주문 BY와 같은 SQL 언어의 다른 부분과 같은 구문 묘사의 느낌과 가독성을 유지합니다.

  8. ==============================

    8.나는 INTO없이 코드를 볼 때, 그래서 그냥 '파괴'와 혼동 보이는, ORACLE에 SQL을 쓰기 시작했다.

    나는 INTO없이 코드를 볼 때, 그래서 그냥 '파괴'와 혼동 보이는, ORACLE에 SQL을 쓰기 시작했다.

    네, 그냥 내 의견이고, 나는 당신이 항상 INTO를 사용한다 말하는 게 아니에요. 그러나 당신은 당신은 그들이 새로운 구현과 스크립트를 시작하지 않은 특히, 다른 많은 사람들이 아마도 같은 일을 생각할 것이다 알고 있어야하지 않습니다.

    SQL로 나는 당신이 테이블에 행을 추가하고 개체 작동하지 않는 것을 깨닫게하는 것이 매우 중요하다고 생각합니다. 나는 객체로 SQL 테이블 행 / 항목을 생각하는 새로운 개발자에게 도움이되지 않는 것 같아요. 다시 말하지만, 그냥 날의 의견.

  9. ==============================

    9.가능한 사용 표준 기능을합니다. 혹시 특정 데이터베이스에 대한 이식성이 필요하지만, 기회는 당신이 당신의 SQL 지식에 대한 이동성이 필요하다하지 않는 것이. 특정 불쾌한 T-SQL의 예는 ISNULL, 사용 유착의 사용이다!

    가능한 사용 표준 기능을합니다. 혹시 특정 데이터베이스에 대한 이식성이 필요하지만, 기회는 당신이 당신의 SQL 지식에 대한 이동성이 필요하다하지 않는 것이. 특정 불쾌한 T-SQL의 예는 ISNULL, 사용 유착의 사용이다!

  10. from https://stackoverflow.com/questions/233919/insert-vs-insert-into by cc-by-sa and MIT license