oracle中创建表如何不产生日志

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle中创建表如何不产生日志相关的知识,希望对你有一定的参考价值。

参考技术A create table 表名 nologging

column1 varchar(10),
column2 varchar(10)
)
/
这样建出来的表不会产生日志本回答被提问者采纳
参考技术B create table 表名 nologging

col ................
)
/
参考技术C 你在建表时加入 NOLOGGING 试试

在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

 

以上是关于oracle中创建表如何不产生日志的主要内容,如果未能解决你的问题,请参考以下文章

如何在oracle10G中创建表空间

在 Oracle 中创建表会产生“缺少右括号”错误 [重复]

在oracle数据库中创建表语句如何写?

如何获得在Oracle中创建表时使用的查询?

ORACLE中创建表空间,创建表,改动表,授权

Oracle 10g中如何创建表