我想创建一个触发器来防止输入高于某个值的值。
我已经阅读了一些内容,但无法将以下问题与我自己的问题联系起来。
代码:
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
错误:
消息 512,级别 16,状态 1,过程 Tgr_IQRating,第 16 行
子查询返回超过 1 个值。当子查询跟随 =、!=、<、<=、>、>= 或子查询用作表达式时,这是不允许的。
任何帮助都会很棒。
谢谢,
杰。