0
SQL Anywhere 9.0에서 일부 제약 조건을 공식화하려고합니다.Sybase Check 제약 조건 평가
기본적으로 나는이 같은 스키마를 가지고 : 나는 테이블에있는 대부분의 계산에있을 각 제한에 대한 제약 my_number
을 강제하기 위해 노력하고있어
CREATE TABLE limits (
id INT IDENTITY PRIMARY KEY,
count INT NOT NULL
);
CREATE TABLE sum (
user INT,
limit INT,
my_number INT NOT NULL CHECK(my_number > 0),
PRIMARY KEY (user, limit)
);
.
나는
CHECK (((SELECT sum(my_number) FROM sum WHERE limit = limit) + my_number) <= (SELECT count FROM limits WHERE id = limit))
CHECK ((SELECT sum(my_number) FROM sum WHERE limit = limit) <= (SELECT count FROM limits WHERE id = limit))
및
을 시도하고 그들 모두가 올바른 일을하지 않는 것 같다. 둘 다 하나씩 꺼져 있습니다. (음수를 얻으면 삽입은 실패하지만 그 전에는 실패합니다.)제 질문은이 서브 쿼리가 실행되는 테이블의 버전이 무엇입니까? 테이블이 삽입되기 전에 일관성 검사를 수행합니까?