Menggunakan fungsi error dalam TRY...CATCH bersarang
Anda menerima beberapa sepeda listrik baru di toko, sehingga Anda perlu memperbarui stok.
Anda ingin mencatat bahwa Anda menerima 2 sepeda Trek Powerfly 5 - 2018 dengan harga $3499,99 masing-masing, dan 3 sepeda New Power K- 2018 dengan harga $1999,99 masing-masing.
Anda mencoba menyisipkan produk-produk tersebut ke dalam database karena Anda mengira itu adalah model baru. Namun, Anda lupa bahwa yang pertama sudah ada di stok. Untungnya, tabel products memiliki kendala yang mengharuskan setiap nama produk unik.
Anda menyiapkan skrip untuk mengendalikan kemungkinan error saat penyisipan. Anda juga ingin menyisipkan kemungkinan error ke dalam tabel bernama errors, dan jika terjadi kegagalan saat menyisipkan error, tampilkan nomor error dan pesan error.
Latihan ini adalah bagian dari kursus
Transaksi dan Penanganan Kesalahan di SQL Server
Petunjuk latihan
- Lingkupi penanganan error dengan blok
CATCH. - Sisipkan
'Error inserting a product'ke tabelerrorsdan lingkupi penyisipan ini dengan blokTRYlain. - Lingkupi penanganan error bersarang dengan blok
CATCHlain. - Pilih baris error dan pesan error di blok
CATCHbagian dalam.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
BEGIN TRY
INSERT INTO products (product_name, stock, price)
VALUES ('Trek Powerfly 5 - 2018', 2, 3499.99),
('New Power K- 2018', 3, 1999.99)
END TRY
-- Set up the outer CATCH block
___ ___
SELECT 'An error occurred inserting the product!';
-- Set up the inner TRY block
___ ___
-- Insert the error
INSERT INTO ___
VALUES ('Error inserting a product');
___ ___
-- Set up the inner CATCH block
___ ___
-- Show number and message error
SELECT
___ AS line,
___ AS message;
___ ___
___ ___