Saya selalu melakukannya ketika memposting di sini atau di StackOverflow karena untuk WITH
- karena kata kunci dibebani berlebihan - perintah sebelumnya memerlukan semi-colon terminating. Jika saya menempelkan contoh kode yang menggunakan CTE, pasti beberapa pengguna akan menempelkannya ke dalam kode mereka yang ada, dan pernyataan sebelumnya tidak akan memiliki titik koma. Jadi kodenya rusak, dan saya mendapat keluhan seperti:
Kode Anda rusak! Saya mendapat pesan kesalahan ini:
Incorrect syntax near 'WITH'
...
Sementara saya ingin percaya bahwa orang-orang menjadi lebih baik tentang selalu mengakhiri pernyataan mereka dengan titik koma , saya lebih suka mengurangi kebisingan dan selalu memasukkannya. Beberapa orang tidak menyukainya, tetapi <shrug />
. Anda dapat memasukkan semi-titik dua sebelum atau sesudah pernyataan yang valid seperti yang Anda inginkan. Ini valid:
;;;;SELECT 1;;;;;;;;;;;;SELECT 2;;;;;;;;SELECT 3;;;;;
Jadi tidak ada salahnya ada tambahan semi-colon sebelum pernyataan yang menurut definisi mengharuskannya. Lebih aman melakukannya meskipun tidak cantik.
Itu harus diucapkan dengan aneh untuk mendapatkan maksud, tetapi "tidak mengakhiri pernyataan yang valid dengan titik koma" sebenarnya sudah ditinggalkan sejak SQL Server 2008. Jadi seperti yang saya jelaskan dalam posting blog saya tautkan ke atas, bahkan dalam kasus di mana itu tidak diperlukan untuk mem-bypass kesalahan, itu harus digunakan dimanapun valid. Anda dapat melihat ini di sini:
http://msdn.microsoft.com/en-us/library/ms143729.aspx
(Cari halaman terakhir untuk "semi-colon")
Tentu saja itu bukan SQL Server jika tidak ada pengecualian. Coba ini:
BEGIN TRY;
SELECT 1/1;
END TRY;
BEGIN CATCH;
SELECT 1/1;
END CATCH;
Ini bukan satu-satunya pengecualian pada aturan, tetapi itu satu-satunya yang saya temukan paling tidak intuitif.