MulaiMulai sekarang secara gratis

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

Lihat Kursus

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 ___;
___ ___
Edit dan Jalankan Kode