900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > oracle创建表之前判断表是否存在 如果存在则删除已有表

oracle创建表之前判断表是否存在 如果存在则删除已有表

时间:2020-12-20 23:32:06

相关推荐

oracle创建表之前判断表是否存在 如果存在则删除已有表

Mysql创建表之前判断表是否存在,如果存在则删除已有表

DROP TABLE IF EXISTS sys_area;CREATE TABLE sys_area(id int NOT NULL AUTO_INCREMENT COMMENT '编号',parent_id varchar(64) NOT NULL COMMENT '父级编号',parent_ids varchar(2000) NOT NULL COMMENT '所有父级编号',name varchar(100) NOT NULL COMMENT '名称',sort decimal(10,0) NOT NULL COMMENT '排序',code varchar(100) COMMENT '区域编码',type char(1) COMMENT '区域类型',create_by varchar(64) NOT NULL COMMENT '创建者',create_date datetime NOT NULL COMMENT '创建时间',update_by varchar(64) NOT NULL COMMENT '更新者',update_date datetime NOT NULL COMMENT '更新时间',remarks varchar(255) COMMENT '备注信息',del_flag char(1) DEFAULT '0' NOT NULL COMMENT '删除标记',PRIMARY KEY (id)) COMMENT = '区域表';

MySql 自增长 AUTO_INCREMENT

Oracle创建表之前判断表是否存在,如果存在则删除已有表

declare num number;begin select count(1) into num from user_tables where table_name = upper('sys_area') ; if num > 0 then execute immediate 'drop table sys_area' ; end if; end;-- 区域表CREATE TABLE sys_area(id Number(4) NOT NULL,parent_id varchar2(64) NOT NULL,parent_ids varchar2(2000) NOT NULL,name nvarchar2(100) NOT NULL,sort number(10,0) NOT NULL,code varchar2(100),type char(1),create_by varchar2(64) NOT NULL,create_date timestamp NOT NULL,update_by varchar2(64) NOT NULL,update_date timestamp NOT NULL,remarks nvarchar2(255),del_flag char(1) DEFAULT '0' NOT NULL,PRIMARY KEY (id));

Oracle 定义主键 自增长,需要定义一个序列

create sequence seq_sys_areaminvalue 1 --最小值nomaxvalue --不设置最大值start with 1--从1开始计数increment by 1 --每次加1个nocycle --一直累加,不循环nocache;--不建缓冲区

以上代码完成了一个序列(sequence)的建立过程,名称为SEQ_TEST,范围是从1开始到无限大(无限大的程度是由你机器决定的),nocycle 是决定不循环,如果你设置了最大值那么你可以用cycle 会使seq到最大之后循环.对于nocache顺便说一下如果你给出了cache值那么系统将自动读取你的cache值大小个seq,这样在反复操作时会加快运行速度,但如果遭遇意外情况如当机了或oracle死了,则下次取出的seq值将和上次的不连贯.(如果连不连贯无所谓建议用cache,因为时间就是金钱呀!)

seq_sys_area.nextval 作为主键插入值

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。