在Oracle中创建表时,有没有办法限制最大行数?
答案 0 :(得分:2)
如果表格有数字键,您可以添加一个检查约束,表明该键不超过特定值:
ALTER TABLE turnip
ADD CONSTRAINT check_turnip_id
CHECK (turnip_id <= 50)
/
答案 1 :(得分:-1)
您可以创建一个语句触发器“BEFORE INSERT”并检查行数。
CREATE OR REPLACE TRIGGER BI_MY_TABLE
BEFORE INSERT ON MY_TABLE
DECLARE
CountRows NUMBER;
BEGIN
SELECT COUNT(*)
INTO CountRows
FROM MY_TABLE;
IF CountRows > 100 THEN
RAISE_APPLICATION_ERROR(-20001, 'Only 100 records are allowed');
END IF;
END;
/
但是,此触发器在多用户环境中无法正常工作。