Mengganggu Perlaksanaan Skrip SQL dalam Pelayan SQL
Skrip SQL yang besar atau kompleks kadangkala memerlukan penamatan segera jika keadaan yang tidak dijangka timbul. SQL Server menawarkan beberapa cara untuk mencapainya.
Menggunakan raiserror
Pernyataan raiserror
secara tiba-tiba menamatkan pelaksanaan skrip dengan mencetuskan ralat kritikal. Tahap keterukan 20 atau lebih, digabungkan dengan pilihan WITH LOG
, diperlukan:
<code class="language-sql">raiserror('Critical error encountered', 20, -1) with log</code>
Tindakan ini menutup sambungan pangkalan data, menghentikan pemprosesan skrip selanjutnya.
Mempekerjakan noexec
Arahan noexec
menetapkan bendera, menghalang pelaksanaan kenyataan berikutnya. Tidak seperti raiserror
, ia tidak menamatkan sambungan; pelaksanaan disambung semula hanya selepas noexec
dinyahaktifkan:
<code class="language-sql">print 'Initial message' go print 'Error detected; script halted!' set noexec on print 'This message will not be displayed.' go -- End of script set noexec off -- Execution resumes here</code>
Nota Penting:
raiserror
menuntut kebenaran pentadbiran dan memutuskan sambungan pangkalan data.noexec
hanya menjejaskan sesi semasa tanpa memutuskan sambungan.GO
pemisah kelompok.Kaedah terbaik bergantung pada keperluan khusus dan konteks skrip SQL anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghentikan Perlaksanaan Pertengahan Proses Skrip SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!