私は学校を表すsqliteデータベースのトリガーを作ろうとしています。挿入を防ぐsqliteデータベースのトリガーを作成する
CREATE TABLE Administrators(
ssn INT CHECK(ssn > 100000000),
lName CHAR(20),
fName CHAR(10),
gender CHAR(1) CHECK(gender IN('F','M')),
dob DATE,
address CHAR(100),
phone INT CHECK(phone > 1000000000),
role CHAR(20) CHECK(role IN('Principal','Vice Principal','Dean')),
PRIMARY KEY(ssn)
);
私は、1つのプリンシパルしか存在しないようにしたいと考えています。私は考えることができるすべてを試してきましたが、トリガーのさまざまな場所でエラーが発生し続けます。私が試した最後のものは
sqlite> CREATE TRIGGER onePres
...> BEFORE INSERT ON Administrators
...> BEGIN
...> IF (EXISTS (SELECT * FROM Administration WHERE role = 'Principal'))
...> BEGIN
...> ROLLBACK TRANSACTION;
...> RETURN
...> END;
...> END;
は、誰も私が把握助けてくださいでした「IF」私が間違って何をやってるの近くに誤りがあると言いますか? ありがとう!
SSNと電話番号には数値がありません。文字列を使用します。 –