Ketika datang untuk mengembangkan prototipe solusi, seringkali teknologi belum diputuskan dan mungkin tidak akan sama dengan yang akan digunakan dalam produk jadi.
Dalam skenario ini saya cenderung menggunakan Microsoft SQL Server menulis kueri sebagai standar mungkin untuk menyederhanakan migrasi akhirnya ke server lain.
Apakah ada cara atau praktik yang dikenal untuk menegakkan penggunaan standar SQL melalui dialek T-SQL langsung di SQL Server atau melalui SQL Server Management Studio (SSMS)?
sql-server
sql-server-2016
migration
sql-standard
s.demuro
sumber
sumber
<>
) dan non-standar (!=
), di mana tidak ada kompromi pada kinerja atau pemeliharaan, saya selalu memilih standar. Tetapi ketika datang dengan biaya lain, atau tidak ada standar yang setara, saya memanfaatkan dan menjadi milik. Hal-hal yang Anda menyerah hanya karena kemampuan untuk sepenuhnya beralih platform grosir tidak layak.Jawaban:
Pengguna Aaron Bertrand membuat beberapa komentar yang sejalan dengan pemikiran saya tentang pertanyaan Anda. Ini lebih merupakan tantangan bingkai daripada jawaban untuk pertanyaan spesifik Anda, tetapi saya pikir ini berharga untuk dipertimbangkan dalam konteks ini.
Jika Anda harus mengubah platform di beberapa titik, akan ada perubahan yang diperlukan untuk aplikasi, database, dan mungkin banyak hal lainnya. Jika Anda bisa menjadi "platform agnostik" tanpa terlalu banyak usaha, itu tidak masalah. Tapi itu benar-benar keputusan bisnis yang buruk untuk menggunakannya sebagai tujuan desain.
Ada banyak tempat online di mana orang mendiskusikan kelemahan atau pemrograman dengan cara ini, berikut ini salah satu yang menurut saya cukup menarik:
Lapisan Abstraksi Basis Data Harus Mati!
sumber
Jangan menegakkan STD SQL.
Tentukan dulu DBMS mana yang akan Anda gunakan sesuai dengan kebutuhan proyek Anda, dan manfaatkan itu.
sumber
Tidak juga.
Ada
SET FIPS_FLAGGER 'FULL'
.Ini mencetak peringatan untuk SQL non-standar - tetapi beberapa peringatan adalah
+
operator untuk penggabungan string atau fungsi eksklusif sepertiGETDATE()
sehingga sepertinya tidak terlalu komprehensif.sumber
"Seringkali teknologi belum diputuskan"
Saya akan mengatakan ini benar-benar BUKAN terjadi dalam pengalaman saya. Sebenarnya saya tidak percaya saya pernah mendengar hal ini kecuali mungkin sesuatu yang sangat kecil.
Biasanya ini ditetapkan, dan solusi baru diharapkan untuk memanfaatkan apa yang sudah digunakan.
Saya akan setuju dengan para komentator di atas dalam hal itu bahkan jika itu tidak ditetapkan, Anda harus menetapkan itu terlebih dahulu sebelum Anda mulai menulis pertanyaan dan kode lainnya. Kalau tidak, Anda hanya berpotensi membiarkan diri Anda untuk banyak upaya sia-sia dalam menulis ulang langsung dari kelelawar.
sumber