Rumah Kewangan Peribadi Cara Mengendalikan Syarat SQL - dummies

Cara Mengendalikan Syarat SQL - dummies

Isi kandungan:

Video: [TUTORIAL] CARA HACK AKUN INSTAGRAM ORANG LAIN 100% WORK - EPS.03 2024

Video: [TUTORIAL] CARA HACK AKUN INSTAGRAM ORANG LAIN 100% WORK - EPS.03 2024
Anonim

Anda boleh melihat program anda di SQLSTATE selepas pelaksanaan setiap pernyataan SQL. Terdapat beberapa kemungkinan untuk apa yang anda mahu lakukan seterusnya. Apa yang anda lakukan dengan pengetahuan yang anda perolehi?

  • Jika anda mencari kod kelas 00 , anda mungkin tidak mahu melakukan apa-apa. Anda mahu pelaksanaan diteruskan seperti yang anda rasakan pada asalnya.

  • Jika anda mencari kod kelas 01 atau 02 , anda mungkin mahu mengambil tindakan khas. Jika anda menjangkakan petunjuk "Amaran" atau "Tidak Ditemui", anda mungkin ingin membiarkan pelaksanaan dijalankan. Jika anda tidak mengharapkan salah satu daripada kod kelas ini, anda mungkin ingin mempunyai cawangan pelaksanaan untuk prosedur yang direka khusus untuk mengendalikan hasil yang tidak dijangka, tetapi tidak benar-benar tidak dijangka, amaran atau tidak dijumpai.

  • Jika anda menerima sebarang kod kelas lain, ada yang salah. Anda perlu cawangan untuk prosedur pengendalian pengecualian. Prosedur yang anda pilih untuk cawangan bergantung kepada kandungan tiga aksara subclass, serta dua aksara kelas SQLSTATE. Sekiranya terdapat banyak pengecualian yang berlainan, harus ada prosedur pengendalian pengecualian untuk masing-masing kerana pengecualian yang berbeza sering memerlukan tanggapan yang berbeza.

    Anda mungkin dapat membetulkan beberapa ralat atau mencari penyelesaian. Kesalahan lain mungkin membawa maut; tiada siapa yang akan mati, tetapi anda mungkin terpaksa menamatkan permohonan itu.

Deklarasi pengendali

Anda boleh meletakkan pengendali keadaan dalam pernyataan kompaun. Untuk mewujudkan pengendali keadaan, anda mesti mengisytiharkan terlebih dahulu keadaan yang akan ditangani. Keadaan yang diisytiharkan boleh menjadi suatu pengecualian, atau ia hanya boleh menjadi sesuatu yang benar. Berikut adalah beberapa syarat yang mungkin.

Syarat Deskripsi
SQLSTATE VALUE

'xxyyy'

Specific SQLSTATE value
SQLEXCEPTION class SQLSTATE other than 00, 01, or 02 > SQLWARNING
SQLSTATE class 01 TIDAK MENDAPATKAN
SQLSTATE class 02 Berikut adalah contoh perisytiharan keadaan:

BEGIN DECLARE constraint_violation CONDITION FOR SQLSTATE VALUE '23000'; END;

Contoh ini tidak realistik, kerana biasanya pernyataan SQL yang boleh menyebabkan keadaan itu berlaku - serta pengendali yang akan digunakan jika keadaan tersebut berlaku - juga akan dimasukkan dalam struktur BEGIN … END.

Tindakan pengendali dan kesan pengendali

Jika keadaan berlaku yang memanggil pengendali, tindakan yang dinyatakan oleh pengendali dijalankan. Tindakan ini adalah pernyataan SQL, yang boleh menjadi kenyataan kompaun. Jika tindakan pengendali selesai dengan jayanya, maka kesan pengendali dijalankan.Berikut adalah senarai tiga kesan pengendali yang mungkin:

BERSETUJU: Teruskan pelaksanaan dengan serta-merta selepas pernyataan yang menyebabkan pengendali tersebut dipanggil.

  • EXIT: Teruskan pelaksanaan selepas pernyataan kompaun yang mengandungi pengendali.
  • UNDO: Undo kerja pernyataan sebelumnya dalam pernyataan kompaun dan kemudian teruskan pelaksanaan selepas pernyataan yang mengandungi pengendali.

  • Jika pengendali boleh membetulkan masalah apa pun yang menimbulkan pengendali, maka kesan CONTINUE mungkin sesuai. Kesan EXIT mungkin sesuai jika pengendali tidak membetulkan masalah, tetapi perubahan yang dibuat ke penyataan kompaun tidak perlu dibatalkan. Kesan UNDO adalah sesuai jika anda mahu memulangkan pangkalan data kepada keadaan yang ada sebelum pernyataan kompaun bermula pelaksanaan.

Pertimbangkan contoh berikut:

BEGIN PENGIKTIRAFAN ATOMIC CONNITION FOR VALUE SQLSTATE '23000'; DECLARE UNDO HANDLER FOR constraint_violation RESIGNAL; REPLACE INTO students (StudentID, Fname, Lname) VALUES (: sid,: sfname,: slname); REPLACE INTO roster (ClassID, Class, StudentID) VALUES (: cid,: cname,: sid); END;

Jika salah satu daripada kenyataan INSERT menyebabkan pelanggaran kendala, seperti cuba menambah rekod dengan kunci utama yang menduplikasi kunci primer yang sudah ada di dalam jadual, SQLSTATE menganggap nilai '23000', dengan itu menetapkan keadaan kekangan nilai sebenar.

Tindakan ini menyebabkan pengendali kepada UNDO sebarang perubahan yang telah dibuat ke mana-mana jadual oleh arahan INSERT. Pemindahan kenyataan RELAIAN mengawal kembali prosedur yang memanggil prosedur yang sedang dijalankan.

Jika kedua-dua pernyataan INSERT dilaksanakan dengan jayanya, pelaksanaan diteruskan dengan pernyataan berikut kata kunci END.

Kata kunci ATOMIC adalah wajib apabila kesan pengendali adalah UNDO. Ini bukan kes bagi pengendali yang kesannya sama ada CONTINUE atau EXIT.

Cara Mengendalikan Syarat SQL - dummies

Pilihan Editor

Bagaimana Meditasi Mengubah Brain - dummies

Bagaimana Meditasi Mengubah Brain - dummies

Bersenjata dengan maklumat terkini tentang cara kerja otak, penyelidik telah mempelajari korelasi antara meditasi, pengaktifan bahagian otak yang berlainan, dan perubahan tingkah laku, kognisi, dan emosi. Hasilnya adalah jauh dari konklusif - mereka lebih seperti mengintip sekilas tentang bidang eksplorasi baru yang luas - tetapi mereka ...

Pilihan Editor

Cara Menghitung Umur dengan Formula Excel - patung

Cara Menghitung Umur dengan Formula Excel - patung

Salah satu cara yang paling mudah untuk mengira umur apa-apa pun adalah untuk menggunakan fungsi Excel DATEDIF. Fungsi misterius ini tidak muncul dalam fail Bantuan Excel, tetapi telah wujud sejak Excel 2000. Fungsi ini membuat pengiraan apa-apa jenis tarikh perbandingan angin. Untuk mengira usia seseorang menggunakan fungsi DATEDIF, anda ...

Bagaimana Menghitung Masa Berlalu di Excel - dummies

Bagaimana Menghitung Masa Berlalu di Excel - dummies

Salah satu perhitungan yang lebih biasa dilakukan dengan nilai masa melibatkan pengiraan masa berlalu - iaitu bilangan jam dan minit antara waktu mula dan waktu tamat. Jadual dalam gambar menunjukkan senarai masa mula dan akhir bersama dengan masa berlalu yang dikira. Anda boleh melihat bahawa formula ...

Bagaimana Menghitung Nilai Masa Depan dalam Excel 2013 - dummies

Bagaimana Menghitung Nilai Masa Depan dalam Excel 2013 - dummies

Fungsi Masa Depan Nilai (FV) Excel 2013 ditemui di menu lungsur butang Financial pada tab Rumus Ribbon (Alt + MI). Fungsi FV mengira nilai masa depan pelaburan. Sintaks fungsi ini ialah = FV (rate, nper, pmt, [pv], [type]) Kadar, nper, pmt, dan jenis argumen adalah sama seperti yang digunakan oleh PV ...

Pilihan Editor

Memindahkan Imej Digital dari Kamera Anda ke Komputer Windows - dummies

Memindahkan Imej Digital dari Kamera Anda ke Komputer Windows - dummies

, Anda boleh dengan mudah memindahkan imej dari kamera digital anda ke komputer anda. Pemindahan kamera ke komputer memerlukan anda memasang pemandu kamera anda pada PC anda. Untuk memindahkan foto dari kamera digital atau pembaca kad anda ke PC anda

Memindahkan Foto Digital dari Kad Memori Anda ke Komputer Anda dengan Adapter Kad PC

Memindahkan Foto Digital dari Kad Memori Anda ke Komputer Anda dengan Adapter Kad PC

Banyak komputer riba mempunyai slot untuk menyambungkan peranti PC Card (seperti modem). Anda boleh membeli penyesuai untuk kad memori anda supaya mereka boleh muatkan slot tersebut. Selepas anda memasang perisian penyesuai (ikuti arahan yang disertakan dengan penyesuai anda), memindahkan fail imej ke komputer anda adalah satu snap: