kullanarak bir SQL tetikleyicisi oluşturma SQL veritabanı için bazı tetikleyiciler oluşturuyorum. Bir INSERT'i SYSDATE ile karşılaştıran iki tetikleyici başarıyla yaptım. Bu üçüncüsü için takılı bir değerin 10'dan büyük olmadığından emin olmaya çalışıyorum. Aşağıda tetikleyici ve test verileri çalışacaktır. Sorunun değer notunu beyan etmekle ilgili bir şey olduğuna inanıyorum.Bir sayı değişkeni
CREATE OR REPLACE TRIGGER trig_rating_ck
BEFORE INSERT OR UPDATE OF rating ON reviews
FOR EACH ROW
BEGIN
IF (NEW.rating > 10) THEN
RAISE_APPLICATION_ERROR(-20000, 'Rating has to be between 1 and 10');
END IF;
END trig_rating_ck;
/
--TEST DATA
INSERT INTO reviews (review_id, reviewer_id, venue_id, description, rating, date_posted)
VALUES (seq_reviews.NEXTVAL, 10000,10000, 'THIS WAS GREAT', '11', '06-APR-2016');
Aldığınız hata nedir? – bassrek
Tetikleyiciyi oluşturduğunuzda bir hata aldığınızı tahmin ediyorum çünkü “new” ifadesinden önce “new” in (: new.rating> 10) 'dan önce bir sütun koymanız gerekir. 'Insert' deyimini de çalıştırırken bir hata alıyor olabilirsiniz, çünkü bir tarih değişkeni veya açık bir "to_date" kullanmak yerine bir tarih dizesine bir dize eklemeyi deniyorsunuzdur. –