创建具有最大行数的表(ORACLE)

时间:2014-01-10 15:18:29

标签: database oracle rows

在Oracle中创建表时,有没有办法限制最大行数?

2 个答案:

答案 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;
/

但是,此触发器在多用户环境中无法正常工作。

相关问题