【数据库】Oracle建表、创建序列、添加触发器生成自增主键

这是一个关于在Oracle数据库中创建表格'T_ORDER'的SQL脚本,包括字段定义、约束条件和默认值。此外,还定义了一个名为'Auto_Trig_T_Order_copy1'的触发器,该触发器在插入记录时,如果'AUUID_0'字段为空,则自动赋予一个值。

CREATE TABLE "TEST"."T_ORDER" (
    "AUUID_0" VARCHAR2 ( 255 ) NOT NULL ENABLE,
    "Order_ID" VARCHAR2 ( 255 ) NOT NULL ENABLE,
    "User_ID" VARCHAR2 ( 255 ) NOT NULL ENABLE,
    "CREATE_DATE" TIMESTAMP ( 2 ) DEFAULT SYSDATE,
    "UPDDATTIM_0" TIMESTAMP ( 2 ) DEFAULT SYSDATE,
    CHECK ( "AUUID_0" IS NOT NULL ) ENABLE,
    CHECK ( "Order_ID" IS NOT NULL ) ENABLE,
    CHECK ( "User_ID" IS NOT NULL ) ENABLE 
) SEGMENT CREATION IMMEDIATE PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE ( INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT ) TABLESPACE "USERS";
CREATE 
    OR REPLACE TRIGGER "TEST"."Auto_Trig_T_Order_copy1" BEFORE INSERT ON "TEST"."T_ORDER" REFERENCING OLD AS "OLD" NEW AS "NEW" FOR EACH ROW
    WHEN ( new."AUUID_0" IS NULL ) BEGIN
    SELECT
        test_seq_SORDERQ.nextval INTO : new."AUUID_0" 
    FROM
        dual;
END;
ALTER TRIGGER "TEST"."Auto_Trig_T_Order_copy1" ENABLE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值