Saya mencoba memilih beberapa bidang dari satu tabel dan menyisipkannya ke tabel yang ada dari prosedur tersimpan. Inilah yang saya coba:
SELECT col1, col2
INTO dbo.TableTwo
FROM dbo.TableOne
WHERE col3 LIKE @search_key
Saya pikir SELECT ... INTO ...
untuk tabel sementara itulah mengapa saya mendapatkan kesalahan yang dbo.TableTwo
sudah ada.
Bagaimana saya bisa memasukkan beberapa baris dari dbo.TableOne
dalam dbo.TableTwo
?
sql
sql-server
tsql
stored-procedures
Daniel
sumber
sumber
Jawaban:
SELECT ... INTO ...
hanya berfungsi jika tabel yang ditentukan dalam klausa INTO tidak ada - jika tidak, Anda harus menggunakan:Ini mengasumsikan hanya ada dua kolom di dbo.TABLETWO - Anda harus menentukan kolom lain:
sumber
SELECT... INTO...
pernyataan itu tampaknya tidak berfungsi jika tabel yang ditentukan dalamINTO
klausa belum ada. Saya mendapatkan kesalahan "variabel tidak dideklarasikan". Padahal mungkin masalah ini hanya untuk MySQL. TheCREATE TABLE ... LIKE .. worked
;Ada dua cara berbeda untuk mengimplementasikan memasukkan data dari satu tabel ke tabel lainnya.
For Existing Table - INSERT INTO SELECT
Metode ini digunakan ketika tabel sudah dibuat dalam database sebelumnya dan data akan dimasukkan ke dalam tabel ini dari tabel lain. Jika kolom yang tercantum dalam klausa sisipan dan pilih klausa sama, mereka tidak diharuskan untuk mencantumkannya. Merupakan praktik yang baik untuk selalu membuat daftar mereka untuk tujuan keterbacaan dan skalabilitas.
Untuk Tabel yang Tidak Ada - PILIH KE
Metode ini digunakan ketika tabel tidak dibuat sebelumnya dan perlu dibuat ketika data dari satu tabel akan dimasukkan ke dalam tabel yang baru dibuat dari tabel lain. Tabel baru dibuat dengan tipe data yang sama dengan kolom yang dipilih.
Ref 1 2
sumber
Ini akan bekerja seperti yang diberikan di bawah ini:
sumber
SELECT *
tidak akan berhasil. Ini cara yang lebih baik, terima kasih!Jika Anda sudah menggunakan
select * into tablename from other tablenames
, lain kali, untuk menambahkan, Anda katakanselect * into existing table tablename from other tablenames
sumber
Jika tabel tujuan memang ada tetapi Anda tidak ingin menentukan nama kolom:
sumber