Saya punya SQL Server 2008
, SQL Server Management Studio.
Saya perlu memilih data dari Table1
dalam database1. Kemudian saya harus mengedit beberapa nilai di hasil dan insert values into Table1
di database2.
Atau izinkan saya mengatakannya dengan cara lain.
Bagaimana cara mengubah data dalam satu tabel menjadi insert script
.
sql
sql-server
sql-server-2008
ssms
Kapten Komik
sumber
sumber
Jawaban:
SSMS Toolpack (yang GRATIS seperti bir) memiliki berbagai fitur hebat - termasuk menghasilkan pernyataan INSERT dari tabel.
Pembaruan: untuk SQL Server Management Studio 2012 (dan yang lebih baru), SSMS Toolpack tidak lagi gratis, tetapi memerlukan biaya lisensi yang sederhana.
sumber
Berikut metode lain, yang mungkin lebih mudah daripada memasang plugin atau alat eksternal dalam beberapa situasi:
select [whatever you need]
INTO temp.table_name
from [... etc ...]
temp.table_name
di layar "Pilih Objek", klik Berikutnya.INSERT
pernyataan yang dihasilkan muncul di jendela kueri baru.[temp.table_name]
menjadi[your_table_name]
.drop table [temp.table_name]
.sumber
temp
di sini mengacu pada skema apa pun yang aksesnya Anda miliki. Anda dapat membuat satu (create schema temp
) dan kemudian menghapusnya setelah Anda selesai, atau (lebih baik) cukup menggunakan skema apa pun yang sedang Anda kerjakan.Di SSMS:
Klik kanan pada database> Tasks> Generate Scripts
Lanjut
Pilih "Pilih objek database tertentu" dan centang tabel yang Anda inginkan dalam skrip, Berikutnya
Klik
Advanced >
dalam daftar opsi, gulir ke bawah ke bawah dan cari "Jenis data ke skrip" dan ubah ke "Hanya Data"> OKPilih "Simpan ke jendela kueri baru"> Berikutnya> Berikutnya> Selesai
Semua 180 baris sekarang ditulis sebagai 180 pernyataan insert!
sumber
Metode asli :
Misalnya jika Anda memiliki meja
Kamu bisa melakukan ini:
sumber
1- Penjelasan Script
A) Sintaks untuk memasukkan data ke dalam tabel adalah seperti di bawah ini
C) Untuk mendapatkan data di atas dari tabel yang ada kita harus menulis query select sedemikian rupa sehingga outputnya akan berupa script di atas.
D) Kemudian Akhirnya saya telah Merangkai variabel di atas untuk membuat skrip akhir yang akan menghasilkan skrip sisipan saat dieksekusi
E)
F) Dan Akhirnya Jalankan query di atas
EXECUTE(TEXT)
G)
QUOTENAME()
berfungsi untuk membungkus data kolom di dalam kutipanH)
ISNULL
digunakan karena jika ada baris yang memilikiNULL
data untuk kolom apa pun, kueri gagal dan mengembalikan ituNULL
sebabnya saya harus menghindari ituISNULL
I) Dan menciptakan sp
sp_generate_insertscripts
untuk hal yang sama1- Letakkan saja nama tabel yang Anda inginkan
insert script
2- Kondisi filter jika Anda menginginkan hasil yang spesifik
sumber
Itu mungkin dilakukan melalui Visual Studio SQL Server Object Explorer.
Anda dapat mengklik "Lihat Data" dari menu konteks untuk tabel yang diperlukan, memfilter hasil, dan menyimpan hasil sebagai skrip.
sumber
Menggunakan studio visual, lakukan hal berikut
Buat proyek jenis SQL Server -> Proyek Database SQL Server
buka sql server explorer CTL- \, CTL-S
tambahkan SQL Server dengan mengklik kanan ikon SQL SERVER. Selcet TAMBAHKAN SERVER BARU
arahkan ke bawah ke tabel yang Anda minati
klik kanan -> LIHAT DATA
Klik sel kiri atas untuk menyorot semuanya (ctl-A sepertinya tidak berfungsi)
Klik Kanan -> SCript
Ini luar biasa. Saya telah mencoba semua yang tercantum di atas selama bertahun-tahun. Saya tahu ada alat di luar sana yang akan melakukan ini dan banyak lagi, tidak dapat memikirkan namanya. Tapi itu sangat mahal.
Semoga berhasil. Saya baru saja menemukan ini. Belum mengujinya secara ekstensif dengan bidang teks dll, tetapi sepertinya itu membuat Anda jauh di jalan.
Greg
sumber
Buat tabel terpisah menggunakan pernyataan ke Misalnya
Pilih * ke Test_123 dari [dbo]. [Karyawan] di mana Nama seperti '% Test%'
Pergi ke Database Klik Kanan Database Klik Generate Script Pilih tabel Anda Pilih opsi advanace dan pilih Attribute "Data Only" Pilih file "open in new query"
Sql akan menghasilkan skrip untuk Anda
sumber
Anda dapat memilih opsi 'Hasil ke File' di SSMS dan mengekspor hasil pilihan Anda ke file dan membuat perubahan pada file hasil dan terakhir menggunakan BCP - Salinan massal yang dapat Anda masukkan ke dalam tabel 1 di database 2.
Saya pikir untuk penyisipan massal Anda harus mengonversi file .rpt ke file .csv
Semoga bisa membantu.
sumber
Saya memiliki masalah serupa, tetapi saya harus dapat membuat pernyataan INSERT dari kueri (dengan filter, dll.)
Jadi saya membuat prosedur berikut:
Anda kemudian dapat menggunakannya dengan menulis output dari kueri Anda ke dalam tabel temp dan menjalankan prosedur:
Catatan: Prosedur ini hanya mentransmisikan nilai ke string yang dapat menyebabkan data terlihat sedikit berbeda. Dengan DATETIME misalnya, detik akan hilang.
sumber
Ini adalah solusi yang lebih serbaguna (yang dapat melakukan lebih dari pertanyaan yang diajukan), dan dapat digunakan di jendela kueri tanpa harus membuat proc baru yang disimpan - berguna dalam database produksi misalnya di mana Anda tidak memiliki akses tulis .
Untuk menggunakan kode tersebut, silahkan modifikasi sesuai dengan baris komentar yang menjelaskan penggunaannya. Anda kemudian dapat menjalankan kueri ini di jendela kueri dan ini akan mencetak pernyataan INSERT yang Anda butuhkan.
sumber
Anda dapat Menggunakan Paket Layanan Integrasi Server Sql yang dirancang khusus untuk operasi Impor dan Ekspor .
VS memiliki paket untuk mengembangkan paket-paket ini jika Anda menginstal Sql Server sepenuhnya.
Layanan Integrasi di Business Intelligence Development Studio
sumber
Saya pikir itu juga mungkin dengan kueri adhoc Anda dapat mengekspor hasil ke file excel dan kemudian mengimpor file itu ke objek dataTable Anda atau menggunakannya apa adanya dan kemudian mengimpor file excel ke database kedua lihat tautan ini ini dapat membantu Anda banyak.
http://vscontrols.blogspot.com/2010/09/import-and-export-excel-to-sql-server.html
sumber
Saya membuat yang berikut ini
procedure
:Maka Anda bisa menggunakannya seperti itu:
Outputnya akan seperti itu:
Jika Anda hanya ingin mendapatkan berbagai baris, gunakan
@top
parameter seperti di bawah ini:sumber
Jika Anda menggunakan Oracle (atau mengkonfigurasi aplikasi ke SQL Server), maka Oracle SQL Developer akan melakukannya untuk Anda. pilih 'unload' untuk tabel dan ikuti opsi melalui (hapus centang DDL jika Anda tidak ingin semua tabel membuat barang).
sumber
Saya menemukan addon Boost SMSMS ini , yang gratis dan melakukan hal ini antara lain. Anda dapat mengklik kanan pada hasil dan memilih Data skrip sebagai.
sumber
Anda dapat menggunakan Q2C.SSMSPlugin ini , yang gratis dan open source. Anda dapat mengklik kanan dan memilih "Execute Query To Command ... -> Query To Insert ...". Nikmati)
sumber
Anda dapat menggunakan
INSERT INTO SELECT
pernyataan, untuk menyisipkan hasil kueri pemilihan ke dalam tabel. http://www.w3schools.com/sql/sql_insert_into_select.aspContoh:
sumber