oracle中的truncate用法

oracle中的truncate

语法:TRUNCATE  TABLE  table;

在使用truncate语句(DDL语言)可以删除表中的所有记录。使用truncate语句删除数据时,通常要比使用delete语句快得多,这是因为使用truncate语句删除数据时,不会产生任何回退信息,因此执行truncate语句操作也不能回退,且使用的系统和事务日志资源少。

DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。

在truncate语句中还可以使用reuse storage关键字,表示删除记录后任然保存记录所占用的空间;与此相反,如果使用drop storage关键字,则表示删除记录后立即回收记录所占的空间。默认使用drop storage关键字。

SQL> create table tt(

2  tid number(4)

3  );

SQL> insert into tt values(1);

已创建 1 行。

SQL> insert into tt values(2);

已创建 1 行。

SQL> insert into tt values(3);

已创建 1 行。

SQL> insert into tt values(4);

已创建 1 行。

SQL> insert into tt values(5);

已创建 1 行。

SQL> truncate table tt reuse storage;

表被截断。

SQL> select * from tt;

未选定行

时间: 2024-12-10 08:17:17

oracle中的truncate用法的相关文章

Oracle 中 decode 函数用法

Oracle 中 decode 函数用法 含义解释:decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下:IF 条件=值1 THEN RETURN(翻译值1)ELSIF 条件=值2 THEN RETURN(翻译值2) ......ELSIF 条件=值n THEN RETURN(翻译值n)ELSE RETURN(缺省值)END IFdecode(字段或字段的运算,值1,值2,值3) 这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值

Oracle中Cursor的用法

关键字 ?概念 ?类型 ?异常处理 一 概念 游标是SQL的一个内存工作区,由系统或用户以变量的形式定义.游标的作用就是用于临时存储从数据库中提取的数据块.在某些情况下,需要把数据从存放在磁 盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库.这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率. 二  类型   Cursor类型包含三种: 隐式Cursor,显式Cursor和Ref Cursor(动态Cursor). 1. 隐式Cursor: 1).对于Selec

oracle中to_date详细用法示例(oracle日期格式转换)

这篇文章主要介绍了oracle中to_date详细用法示例,包括期和字符转换函数用法.字符串和时间互转.求某天是星期几.两个日期间的天数.月份差等用法 TO_DATE格式(以时间:2007-11-02 13:45:25为例) 1. 日期和字符转换函数用法(to_date,to_char) select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual; //日期转化为字符串 select to_char(sysdate,'

Oracle中Merge into用法总结 (转载)

Oracle中Merge into用法总结 (出处:http://www.cnblogs.com/dongsheng/p/4384754.html) 起因: 前段时间,因为涉及到一张表的大数据操作,要同时进行增删改,我跟师傅想了很多优化办法,结果都不尽人意.刚开始用的就是原始算法,先更新现有记录,再插入满足要求的其他记录,最后再删除多余记录,但是少量数据还可以,10W条数据就不行了,前台的超时时间是60s,远远无法满足要求.之后又想办法将任务进行拆分,根据每条记录流水号尾字符不同进行拆分,用多个

Oracle中的Truncate和Delete语句

Oracle中的Truncate和Delete语句 首先讲一下,truncate命令: 语法:TRUNCATE  TABLE  table; 表格里的数据被清空,存储空间被释放. 运行后会自动提交,包括之前其它未提交的会话,因而一旦清空无法回退. 只有表格的创建者或者其他拥有删除任意表格权限的用户(如DBA)才能清空表格. TRUNCATE  TABLE  dept30; Table truncated. ---------------------------------------------

Oracle中Execute Immediate用法

Oracle中Execute Immediate用法 Execute Immediate代替了以前Oracle8i中DBMS_SQL package包.它解析并马上执行动态的SQL语句或非运行时创建的PL/SQL块.动态创建和执行SQL语句性能超前,Execute Immediate的目标在于减小企业费用并获得较高的性能,较之以前它相当容易编码.尽管DBMS_SQL仍然可用,但是推荐使用Execute Immediate,因为它获的收益在包之上. -- 使用技巧 1.Execute Immedi

【基础】ORACLE中substr的用法

ORACLE中substr函数的简单用法 substr(字符串,截取开始位置,截取长度) //返回截取的字 substr('Hello World',0,1) //返回结果为 'H'  *从字符串第一个字符开始截取长度为1的字符串 substr('Hello World',1,1) //返回结果为 'H'  *0和1都是表示截取的开始位置为第一个字符 substr('Hello World',2,4) //返回结果为 'ello' substr('Hello World',-3,3)//返回结果

oracle中类似indexof用法_instr函数

[sql] 在oracle中没有indexof()函数 但是提供了一个 instr() 方法 具体用法: select instr('保定市南市区','市',1,1)-1 from dual; 解释:1. '保定市南市区' =>可以是表达式,也可以是具体数据 2. '市'=>为分离的标志,这里为两组数据中的“市”这个字 3. 第一个1为从左边开始,如果为-1,则从右边开始. 4. 第二个1为“市”出现的第几次. www.2cto.com 在GBK编码下,一个中文占两个字节 select ins

关于oracle中to_char的用法

昨天做的需求中用到了几个之前没做过的用法 关键词:to_char('xxxx'),to_number('xxx') 1.to_char将ORACLE中10进制数转换为16进制数. 事先录入的10进制数为number型 对lac_16字段做了如下的处理, lpad(trim(Upper(to_char(ac_ten, 'xxxx'))), 4, '0') lac_16,  使用trim的原因是 转换后的16进制数会为保留10进制数的长度 后对to_char的此用法进行了学习,为方便,使用了orac