Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana Anda menyimpan data statis di Proyek Database SQL Server Anda di VS 2012

Anda dapat menggunakan pendekatan ini:

  • Masukkan data referensi Anda ke dalam file XML, satu per tabel
  • Tambahkan file XML dengan data referensi ke proyek database Anda
  • Gunakan skrip Pasca-Penerapan untuk mengekstrak data dari XML dan menggabungkannya ke dalam tabel Anda

Berikut adalah deskripsi yang lebih rinci dari setiap langkah, diilustrasikan dengan sebuah contoh. Katakanlah Anda perlu menginisialisasi tabel negara yang memiliki struktur ini:

create table Country (
    CountryId uniqueidentifier NOT NULL,
    CountryCode varchar(2) NOT NULL,
    CountryName varchar(254) NOT NULL
)

Buat folder baru bernama ReferenceData di bawah proyek database Anda. Itu harus menjadi folder saudara dari Schema Objects dan Scripts .

Tambahkan file XML baru bernama Country.xml ke ReferenceData map. Isi file sebagai berikut:

<countries>
    <country CountryCode="CA" CountryName="Canada"/>
    <country CountryCode="MX" CountryName="Mexico"/>
    <country CountryCode="US" CountryName="United States of America"/>
</countries>

Temukan Script.PostDeployment.sql , dan tambahkan kode berikut ke dalamnya:

DECLARE @h_Country int

DECLARE @xmlCountry xml = N'
:r ..\..\ReferenceData\Country.xml
'

EXEC sp_xml_preparedocument @h_Country OUTPUT, @xmlCountry

MERGE Country AS target USING (
    SELECT c.CountryCode, c.CountryName
    FROM OPENXML(@h_Country, '/countries/country', 1)
    WITH (CountryCode varchar(2), CountryName varchar(254)) as c) AS source (CountryCode, CountryName)
ON (source.CountryCode = target.CountryCode)
WHEN MATCHED THEN
    UPDATE SET CountryName = source.CountryName
WHEN NOT MATCHED BY TARGET THEN
    INSERT (CountryId, CountryCode, CountryName) values (newid(), source.CountryCode, source.CountryName)
;

Saya mencoba solusi ini hanya di VS 2008, tetapi seharusnya tidak sesuai dengan lingkungan pengembangan Anda.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara menggabungkan teks dari beberapa baris menjadi satu string teks di SQL Server

  2. Perbaiki:"Pernyataan BACKUP LOG tidak diizinkan saat model pemulihan SEDERHANA" di SQL Server (dan SQL Edge)

  3. Cari string di semua tabel, baris, dan kolom DB

  4. Esensi dan penggunaan petunjuk NOLOCK di SQL Server

  5. Aktifkan Pencarian Teks Lengkap di Tampilan dengan Inner Join