Oracle的触发器、序列、默认值和sql约束的创建和删除

 
--创建表时,设置是否为空,是否有默认值(DEFAULT)
create table SITE_TEA_CALLER 
(
   ID                   NUMBER(8)                      not null,
   TEACHER_ID           NUMBER(8)                      not null,
   CALLER_ID            NUMBER(8)                      not null,
   DATA_FLAG            NUMBER(1)  DEFAULT   1             null,
   CREATE_DATE          DATE       DEFAULT   sysdate       null,
   constraint PK_SITE_TEA_CALLER primary key (ID)
);

-- Create sequence  创建序列(教师站群教师访客表)
create sequence SITE_TEA_CALLER_ID        --序列名称
minvalue 1                                --序列最小值
maxvalue 9999999999999999999999999999     --序列最大值
start with 1                              --开始值
increment by 1                            --每次增加值
cache 20;                                 --高速缓存大小

--创建触发器
CREATE OR REPLACE TRIGGER create_user_id before insert  --create_user_id触发器名称
on base_login_user     --需要触发器的表名
for each row         
begin
 select base_login_user_id.Nextval into:new.ID from dual;  --base_login_user_id序列名称  --ID给ID装上序列
end;


--删除触发器
DROP TRIGGER trigger_name


//主键ALTER TABLE base_index_pic ADD CONSTRAINT pk_base_index_pic PRIMARY KEY (ID);//修改列名alter table BASE_ORGANIZATION rename column SCHOOL_IMG to REGION_ID;//添加列alter table SCH_YEAR_LIST add YEARS NUMBER(8,0);//删除约束ALTER TABLE 表名 DROP CONSTRAINT 约束名;

猜你喜欢

转载自blog.csdn.net/weixin_40620337/article/details/80965729
今日推荐