回答:
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 newTable SELECT * FROM initial_Table
select into
ステートメントを使用できます。 詳しくはW3Schoolsをご覧ください。
コードを入力する必要がない簡単な方法があります(テストまたは1回限りの更新に最適)。
ステップ1
ステップ2
ステップ3
ステップ4
手順5
注-1:列がターゲットテーブルのように正しい順序になっていない場合は、いつでもステップ2に従い、ターゲットテーブルと同じ順序で列を選択できます。
注-2 -Identity列がある場合は、実行SET IDENTITY_INSERT sometableWithIdentity ON
してから上記の手順に従い、最後に実行します。SET IDENTITY_INSERT sometableWithIdentity OFF
大量のデータを永続的に転送する場合、つまり一時テーブルにデータを入力しない場合は、テーブルからテーブルへのマッピングにSQL Serverインポート/エクスポートデータを使用することをお勧めします。
マッピングに型変換と可能な値の切り捨てがある場合、インポート/エクスポートツールは通常、ストレートSQLよりも優れています。一般に、マッピングが複雑になるほど、直接SQLの代わりにIntegration Services(SSIS)などの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")