特定の値を超える値が入力されないようにするトリガーを作成したいと考えています。
私は少し読んだことがありますが、以下の質問を自分自身に関連付けることができません。
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
エラー:
メッセージ 512、レベル 16、状態 1、プロシージャ Tgr_IQRating、行 16 サブクエリ
が複数の値を返しました。サブクエリが =、!=、<、<=、>、>= の後にある場合、またはサブクエリが式として使用されている場合、これは許可されません。
どんな助けでも素晴らしいでしょう。
ありがとう、
ジェイ。