Re: Поругайте мой TSQL :)
От: DrDred Россия  
Дата: 31.03.06 07:34
Оценка:
Здравствуйте, chabster, Вы писали:

C>
...
 
C> IF (@OrderID IS NULL)
C>  BEGIN
C>   RAISERROR(N'%s: Invalid parameters supplied, @OrderID IS NULL', 11, 1, @ProcName)
C>   RETURN(-100)
C>  END
...
Достигается NOT NULL в таблице на соответсвующие поля.
 
C> SELECT @OrderID = [OrderID] FROM [dbo].[Order] WITH (HOLDLOCK) WHERE ([OrderID] = @OrderID)
C> IF (@@ROWCOUNT = 0)
C>  BEGIN
C>   ROLLBACK TRAN @TranName
C>   RAISERROR(N'%s: БД не містить замовлення з ідентифіктором @OrderID = %d', 11, 1, @ProcName, @OrderID)
C>   RETURN(-1000)
C>  END
...
Достигается Foreign key в таблице, и далее можно парсить ошибки сервера, если нужны осмысленные сообщения

C>


таким образом текст процедуры сокращается раза в два...
--
WBR, Alexander
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.