답변:
insert 문은 실제로 그렇게하기위한 구문을 가지고 있습니다. "*"를 선택하지 않고 열 이름을 지정하면 훨씬 쉽습니다.
INSERT INTO new_table (Foo, Bar, Fizz, Buzz)
SELECT Foo, Bar, Fizz, Buzz
FROM initial_table
-- optionally WHERE ...
어떤 이유로 든이 게시물에 몇 개의 투표권이 부여되기 때문에 이것을 분명히하는 것이 좋습니다.
INSERT INTO ... SELECT FROM 구문은 삽입하려는 테이블 (위의 예제에서 "new_table")이 이미 존재하는 경우입니다. 다른 사람들이 말했듯이 SELECT ... INTO 구문은 명령의 일부로 새 테이블을 만들 때 사용됩니다.
새 테이블을 명령의 일부로 작성해야하는지 여부를 지정하지 않았으므로 대상 테이블이 이미 존재하면 INSERT INTO ... SELECT FROM이 적합해야합니다.
다음과 같이 하위 쿼리를 사용하여 삽입 할 수 있습니다.
INSERT INTO new_table (columns....)
SELECT columns....
FROM initial_table where column=value
select into
문장을 사용할 수 있습니다 . W3Schools에서 더 많은 것을보십시오 .
코드를 입력하지 않아도되는 쉬운 방법이 있습니다 (테스트에 적합하거나 일회성 업데이트).
1 단계
2 단계
3 단계
4 단계
5 단계
참고-1 : 열이 대상 테이블에서와 같이 올바른 순서가 아닌 경우 항상 2 단계를 수행하고 대상 테이블에서와 동일한 순서로 열을 선택할 수 있습니다
알아두기-2- 아이디 열이있는 경우 SET IDENTITY_INSERT sometableWithIdentity ON
위 단계 를 실행 한 다음 실행 하십시오.SET IDENTITY_INSERT sometableWithIdentity OFF
임시 테이블을 채우지 않는 등 많은 데이터를 영구적으로 전송하는 경우 테이블 간 매핑에 SQL Server 가져 오기 / 내보내기 데이터 를 사용하는 것이 좋습니다 .
가져 오기 / 내보내기 도구는 일반적으로 매핑에서 유형 변환 및 가능한 값 잘림이있는 경우 일반 SQL보다 낫습니다. 일반적으로 매핑이 복잡할수록 직접 SQL 대신 SSIS (Integration Services)와 같은 ETL 도구를 사용하면 생산성이 높아집니다.
가져 오기 / 내보내기 도구는 실제로 SSIS 마법사이며 작업을 dtsx 패키지로 저장할 수 있습니다.
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")