Я пытаюсь создать хранимую процедуру в SQL Server 2008. У меня есть опыт программирования, но я не могу понять этого ... Возможно, я просто слишком долго смотрел на него! Первый пример вызывает ошибку, но второй не ... Любые идеи ...Сохраненная процедура SQL raiserror не работает
ALTER PROC master_class
--EXTERNAL VARIABLES
@iSFname varchar(20),
@iSLname varchar(20),
@iDOB date
AS
--INTERNAL VARIABLES
DECLARE @AGE int
DECLARE @ReturnValue int
DECLARE @class nvarchar
--get student age
SELECT @AGE = 32
SELECT @class = 'science'
--ERROR CHECKS
--check ward age rule
IF (@AGE > 18)
BEGIN
RAISERROR('This Person cannot be submitted to this class!', 16, 1)
RETURN 99
END
Затем выполнить
EXECUTE [School].[dbo].[master_class] 'john', 'o connor', '08-01-1981'
выше будет возвращать «Это лицо не может быть представлен в этот класс! ». Если я изменить, если условие
IF (@AGE > 18 AND @class = 'science')
BEGIN
RAISERROR('This Person cannot be submitted to this class!', 16, 1)
RETURN 99
END
Это будет выполняться, когда он не должен !!!! ... Почему это, когда @class = «наука» истинно и возраст составляет более 18 истинно
Любая обратная связь будет здорово
Cheers Laurence ... Работает! :) –