2016-10-16 14 views
0

私はSQLを初めて使い、SQL Serverで作業しています。テーブルとname, ssn, salaryなどがあります。行を挿入するときに給与が$ 20000より高いかどうかを確認するトリガーを作成しようとしています。トリガーを使用して条件付きSQL挿入を作成する方法

もしそれが高い場合は、挿入してください。そうでない場合は、「給与はそれ以上でなければなりません」と印刷してください。私はいくつかの研究をしましたが、解決策を見つけることができませんでした。

私はこれを考えていますが、これは確実に機能していません。

create trigger lowSalary 
on EMPLOYEE 
INSTEAD OF INSERT 
AS 
BEGIN 
    SET NOCOUNT ON 
     INSERT INTO EMPLOYEE 

     IF salary < 20000 THEN 
      print 'salary must be > 20000' 
END 

さらに、このinstead of insertはわかりません。私は誰かが@Martinスミスさんのコメントにこの

INSTEAD OF INSERT 
AS 
BEGIN 
    SET NOCOUNT ON 
+3

なぜチェック制約を追加するのではなく、メッセージをトリガーから印刷することでこれを実行しようとしていますか? –

+0

教師siadそれはトリガーでなければなりません –

答えて

1

ビルを使用した:

がチェック制約上、このページを見ている:あなたのケースでは http://www.w3schools.com/sql/sql_check.asp

を、次のような制約を作成することができます。

CONSTRAINT chk_Salary CHECK (salary > 20000) 
+0

事はそれがトリガーでなければならないことです。 –

関連する問題