트리거를 만들어 값이 특정 값을 초과하는 것을 방지하고 싶습니다.sql 트리거 - if 문 - 업데이트 금지
나는 조금 읽었지만 아래 질문을 내 자신과 관련시킬 수 없습니다.
Trigger to fire only if a condition is met in SQL Server
코드 :
ALTER TRIGGER Tgr_IQRating
ON dbo.Customer
FOR UPDATE
AS
BEGIN
SET NOCOUNT ON;
DECLARE @IQ int
Select @IQ = IQRATING from dbo.customer
IF (@IQ) > 150
BEGIN
PRINT ('Cannot enter anything higher than 100')
END
ROLLBACK TRANSACTION
END
나는이
IF (IQRating) > 150
BEGIN
PRINT ('Cannot enter anything higher than 100')
END
ROLLBACK TRANSACTION
처럼 그것을 시도하지만 열을 찾을 수 없다는 오류가 발생했습니다. 또한 업데이트를 시도 할 때 아래 오류가 발생합니다.
IF (SELECT IQRating FROM dbo.customer) > 150
BEGIN
PRINT ('Cannot enter anything higher than 100')
END
오류 :
Msg 512, Level 16, State 1, Procedure Tgr_IQRating, Line 16
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
어떤 도움도 좋은 것입니다.
감사합니다.
제이.
사실, 그 의사 테이블과'행이 삭제에 대한 Deleted' (또는 이전에 이전 valuse (INSERT' 또는'UPDATE''후) 새 값'Inserted' 호출되는' UPDATE'). SQL 서버에'updated' 의사 테이블이 없습니다 ... –
와우, "업데이트 된"테이블을 어떻게 관리했는지 모르겠군요 ... 미안 해요! –