Mulai sekarangMulai gratis

TRY..CATCH versi Anda sendiri

Ubah dbo.cuspRideSummaryDelete untuk menyertakan kesalahan yang disengaja agar kita dapat melihat cara kerja blok TRY CATCH.

Latihan ini merupakan bagian dari kursus

Menulis Function dan Stored Procedure di SQL Server

Lihat Kursus

Instruksi latihan

  • Secara keliru tetapkan tipe data nvarchar(30) pada @DateParm alih-alih date.
  • Sertakan @Error sebagai parameter OUTPUT opsional.
  • Sertakan pernyataan DELETE di dalam blok BEGIN TRY...END TRY.
  • Gabungkan ERROR_NUMBER(), ERROR_SEVERITY(), ERROR_STATE(), ERROR_MESSAGE(), ERROR_LINE() di dalam blok BEGIN CATCH...END CATCH dan SET ke @Error.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

-- Alter the stored procedure
CREATE OR ALTER PROCEDURE dbo.cuspRideSummaryDelete
	-- (Incorrectly) specify @DateParm
	___ ___(30),
    -- Specify @Error
	___ nvarchar(max) = NULL OUTPUT
AS
SET NOCOUNT ON
BEGIN
  -- Start of the TRY block
  ___ ___
  	  -- Delete
      DELETE FROM RideSummary
      WHERE Date = @DateParm
  -- End of the TRY block
  ___ ___
  -- Start of the CATCH block
  ___ ___
		SET @Error = 
		'Error_Number: '+ CAST(___() AS VARCHAR) +
		'Error_Severity: '+ CAST(___() AS VARCHAR) +
		'Error_State: ' + CAST(___() AS VARCHAR) + 
		'Error_Message: ' + ___() + 
		'Error_Line: ' + CAST(___() AS VARCHAR)
  -- End of the CATCH block
  ___ ___
END;
Edit dan Jalankan Kode