Как передать ошибку (некритическую) с помощью RAISERROR или чего-то еще в код C# и обработать ее, не прерывая хранимую процедуру
создание и заполнение тестовой таблицы
declare @jj nvarchar(MAX) = N'[ {"text":"10","f_date":"1/11/20"}, {"text":"11","f_date":"1/11/21"}, {"text":"12","f_date":"1/11/22"}]'; select * into tt from OPENJSON(@jj) with ([text] nvarchar(50),f_date smalldatetime)
вот хранимая процедура
CREATE or alter PROCEDURE PTest -- Add the parameters for the stored procedure here --@Param1 int = 0 AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; SELECT * from ttable RAISERROR (N'Message %s', -- Message text. 10, -- Severity, 1, -- State, N'first' ) with nowait; SELECT * from ttable RAISERROR (N'Message %s', -- Message text. 10, -- Severity, 1, -- State, N'second' ) with nowait; END GO
вопрос:
как передать ошибку (некритическую) с помощью RAISERROR или чего-то еще в код C# и обработать ее, не прерывая хранимую процедуру
Что я уже пробовал:
MSDN, C#, Transact-SQL, .NET, Microsoft SQL Server