[SQL] SQL에서 다른 테이블로 테이블의 모든 값을 삽입
SQLSQL에서 다른 테이블로 테이블의 모든 값을 삽입
나는 다른에 한 테이블의 모든 값을 삽입하려합니다. 그러나 삽입 문은 값을 사용할 수 있지만, 나는 그것이 initial_Table에서 선택 *을 수용하고 싶습니다. 이것이 가능한가?
해결법
-
==============================
1.삽입 문은 실제로 단지를 수행하기위한 구문이 있습니다. 당신은 선택이 아닌 열 이름을 지정하는 경우는 있지만 "*"많은 쉽게 :
삽입 문은 실제로 단지를 수행하기위한 구문이 있습니다. 당신은 선택이 아닌 열 이름을 지정하는 경우는 있지만 "*"많은 쉽게 :
INSERT INTO new_table (Foo, Bar, Fizz, Buzz) SELECT Foo, Bar, Fizz, Buzz FROM initial_table -- optionally WHERE ...
어떤 이유로이 게시물에 몇 다운 투표를 받고 있기 때문에 더 나은이를 명확히 것입니다.
삽입]은 ... 구문 화상에서 선택하면 (위의 내 예제에서 "NEW_TABLE")에 삽입하고있는 테이블이 이미 존재하는 경우입니다. 다른 사람이 말한 것처럼, SELECT ... INTO 구문은 명령의 일부로 새 테이블을 만들 때입니다.
INSERT INTO는 ... 당신의 대상 테이블이 이미 존재하는 경우 벌금을해야 FROM SELECT 있도록, 새 테이블 명령의 일부로 작성해야하는지 여부를 지정하지 않았습니다.
-
==============================
2.이 시도:
이 시도:
INSERT INTO newTable SELECT * FROM initial_Table
-
==============================
3.다음과 같이 하위 쿼리를 사용하여 삽입 할 수 있습니다 :
다음과 같이 하위 쿼리를 사용하여 삽입 할 수 있습니다 :
INSERT INTO new_table (columns....) SELECT columns.... FROM initial_table where column=value
-
==============================
4.여기에서:
여기에서:
SELECT * INTO new_table_name [IN externaldatabase] FROM old_tablename
-
==============================
5.당신은 문에 선택을 사용할 수 있습니다. W3 스쿨에서 자세한 내용을 참조하십시오.
당신은 문에 선택을 사용할 수 있습니다. W3 스쿨에서 자세한 내용을 참조하십시오.
-
==============================
6.당신이 어떤 코드 (테스트 또는 일회성 업데이트에 적합)를 입력 할 필요가 없습니다 쉬운 방법이있다 :
당신이 어떤 코드 (테스트 또는 일회성 업데이트에 적합)를 입력 할 필요가 없습니다 쉬운 방법이있다 :
주 - 1 : 열을 대상 테이블로 올바른 순서에없는 경우, 당신은 항상 2 단계를 수행하고 대상 테이블에서와 같은 순서로 열을 선택할 수 있습니다
주 -이 - 당신은 신원 열이 다음 SET IDENTITY_INSERT sometableWithIdentity OFF를 SET IDENTITY_INSERT sometableWithIdentity ON을 실행 한 후 위의 단계에 따라, 그리고 결국 실행하는 경우
-
==============================
7.당신이 즉이 임시 테이블을 채우기하지 영구적으로 많은 데이터를 전송하는 경우에, 나는 테이블에 테이블 매핑에 대한 SQL Server 가져 오기 / 내보내기 데이터를 사용하는 것이 좋습니다 것입니다.
당신이 즉이 임시 테이블을 채우기하지 영구적으로 많은 데이터를 전송하는 경우에, 나는 테이블에 테이블 매핑에 대한 SQL Server 가져 오기 / 내보내기 데이터를 사용하는 것이 좋습니다 것입니다.
가져 오기 / 내보내기 도구는 일반적으로 더 나은 당신이 형식 변환 및 매핑 가능한 값의 절단이 바로 SQL보다. 일반적으로, 더 복잡한 당신의 매핑, 당신은 통합 서비스 (SSIS) 대신 직접 SQL과 같은 ETL 도구를 사용하는 생산성.
가져 오기 / 내보내기 도구는 실제로 SSIS 마법사, 당신은 dtsx 패키지로 작업을 저장할 수 있습니다.
-
==============================
8.나는이 문장이 당신이 원하는 것을 할 것 같아요.
나는이 문장이 당신이 원하는 것을 할 것 같아요.
INSERT INTO newTableName (SELECT column1, column2, column3 FROM oldTable);
-
==============================
9.
Dim ofd As New OpenFileDialog ofd.Filter = "*.mdb|*.MDB" ofd.FilterIndex = (2) ofd.FileName = "bd1.mdb" ofd.Title = "SELECCIONE LA BASE DE DATOS ORIGEN (bd1.mdb)" ofd.ShowDialog() Dim conexion1 = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" + ofd.FileName Dim conn As New OdbcConnection() conn.ConnectionString = conexion1 conn.Open() 'EN ESTE CODIGO SOLO SE AGREGAN LOS DATOS' Dim ofd2 As New OpenFileDialog ofd2.Filter = "*.mdb|*.MDB" ofd2.FilterIndex = (2) ofd2.FileName = "bd1.mdb" ofd2.Title = "SELECCIONE LA BASE DE DATOS DESTINO (bd1.mdb)" ofd2.ShowDialog() Dim conexion2 = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" + ofd2.FileName Dim conn2 As New OdbcConnection() conn2.ConnectionString = conexion2 Dim cmd2 As New OdbcCommand Dim CADENA2 As String CADENA2 = "INSERT INTO EXISTENCIA IN '" + ofd2.FileName + "' SELECT * FROM EXISTENCIA IN '" + ofd.FileName + "'" cmd2.CommandText = CADENA2 cmd2.Connection = conn2 conn2.Open() Dim dA2 As New OdbcDataAdapter dA2.SelectCommand = cmd2 Dim midataset2 As New DataSet dA2.Fill(midataset2, "EXISTENCIA")
from https://stackoverflow.com/questions/576441/insert-all-values-of-a-table-into-another-table-in-sql by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 임시 쿼리를 분산 가능하게하는 방법 (0) | 2020.05.07 |
---|---|
[SQL] 의 차이는 동등 조인, 가입 시타 및 자연 조인 (0) | 2020.05.07 |
[SQL] MySQL은 LEFT 3 개 테이블을 조인 (0) | 2020.05.07 |
[SQL] 오라클 SQL의 테이블에 대한 모든 제약 조건의 이름을 표시 (0) | 2020.05.07 |
[SQL] SQLite는 : CURRENT_TIMESTAMP 기계의하지 시간대, GMT에 (0) | 2020.05.07 |