在oracle數據庫中創建表語句如何寫?


表名:servicelogs
字段名稱 類型
id int (主鍵,自增)
servicetype varchar (100)
outsys varchar (100)
methodname varchar (100)
methodresult varchar (200)
errormessage varchar (900)
inparameter varchar (900)
returncontent varchar (900)
logtime varchar (20)

 

Oracle不能再建表語句中實現自增的,需要借助sequence才能實現,,設置主鍵只需要在字段后面加primary key關鍵字即可
create table servicelogs(
id number(8) primary key,
servicetype varchar(100),
outsys varchar(100),
methodname varchar(100),
methodresult varchar(200),
errormessage varchar(900),
inparameter varchar(900),
returncontent varchar(900),
logtime varchar(20)
);
創建序列號:
create sequence servicelogs_sequence
increment by 1 --步長,每次增加幾
start with 1 --從幾開始,這里是1
nomaxvalue --不設置最大值
nocycle --一直累加,不循環
nocache; --不建緩沖區

當然到此也可以結束,每次調用手動調用(序列名稱.nextcal),但是這樣比較麻煩,還是建立一個觸發器
create or replace trigger servicelogs_trig before
insert on servicelogs for each row
begin
select servicelogs.nextval into new.id from dual;
end;

測試:
insert into servicelogs(servicetype)values('aaab');
select * from servicelogs;

原文鏈接 https://zhidao.baidu.com/question/876918554897109292.html?fr=iks&word=oracle%B4%B4%BD%A8%B1%ED%D3%EF%BE%E4&ie=gbk

 


免責聲明!

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



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