Menjalankan stored procedure yang melempar kesalahan
Anda ingin mencatat bahwa Anda menerima 3 sepeda Trek Conduit+ dengan harga $499,99.
Anda menduga Trek Conduit+ tidak ada di tabel products, jadi Anda mencoba memasukkannya sebagai produk baru dengan menggunakan stored procedure yang Anda buat pada latihan sebelumnya:
CREATE PROCEDURE insert_product
@product_name VARCHAR(50),
@stock INT,
@price DECIMAL
AS
BEGIN TRY
INSERT INTO products (product_name, stock, price)
VALUES (@product_name, @stock, @price);
END TRY
BEGIN CATCH
INSERT INTO errors VALUES ('Error inserting a product');
THROW;
END CATCH
Anda perlu menangkap kemungkinan kesalahan yang dihasilkan saat menjalankan stored procedure, dengan menampilkan pesan kesalahan aslinya.
Bagaimana Anda menyiapkan skripnya?
Latihan ini adalah bagian dari kursus
Transaksi dan Penanganan Kesalahan di SQL Server
Petunjuk latihan
- Jalankan stored procedure bernama
insert_product. - Setel nilai yang sesuai untuk parameter stored procedure.
- Bungkus penanganan kesalahan dengan blok
CATCH. - Pilih pesan kesalahannya.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
BEGIN TRY
-- Execute the stored procedure
EXEC ___
-- Set the values for the parameters
@product_name = 'Trek Conduit+',
@stock = ___,
@price = ___;
END TRY
-- Set up the CATCH block
___ ___
-- Select the error message
SELECT ___;
___ ___