Quantcast
Channel: SQL.ru: Microsoft SQL Server
Viewing all articles
Browse latest Browse all 7251

try catch для отлова пустого запроса

$
0
0
Имеется вот такой запрос. По фамилии выдаёт все анализы пациента. Мне нужна выдать ошибку в том случае, если результатом работы является пустая таблица (например когда такого пациента нет и следовательно никаких анализов у него тоже нет). Как отловить эту ситуацию? По заданию обязательно нужно использовать конструкцию try catch
CREATE PROCEDURE Pat
@fname VARCHAR(50),
@sname VARCHAR(50),
@mname VARCHAR(50) NULL
AS
BEGIN
  BEGIN TRY
    BEGIN TRANSACTION
SELECT Patient.Second_name, Patient.First_name, Patient.Middle_name, Examination.Name_examination, Laboratory.Name_lab, MedTest.Result FROM
(((Patient INNER JOIN MedTest ON Patient.ID_Patient = MedTest.ID_Patient)
	INNER JOIN Examination ON MedTest.ID_Examination = Examination.ID_Examination)
	INNER JOIN Laboratory ON MedTest.ID_Lab = Laboratory.ID_Lab)
	WHERE Patient.First_name = @fname AND 
	Patient.Second_name = @sname AND 
	Patient.Middle_name = @mname
    COMMIT TRANSACTION
  END TRY
  BEGIN CATCH
	IFPRINT 'error'
  END CATCH 
END

Viewing all articles
Browse latest Browse all 7251

Trending Articles