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_area
minvalue 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   作為主鍵插入值


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM