精华内容
下载资源
问答
  • Truncate Table用法

    万次阅读 多人点赞 2011-11-08 09:53:49
     Truncate是SQL中的一个删除数据表内容的语句,用法是:  语法  TRUNCATE TABLE name  参数  name  是要截断的表的名称或要删除其全部行的表的名称。  下面是对Truncate语句在...

    [转自]http://baike.baidu.com/view/1230585.htm

           Truncate是SQL中的一个删除数据表内容的语句,用法是:

      语法
      TRUNCATE TABLE name
      参数
      name
      是要截断的表的名称或要删除其全部行的表的名称。
      下面是对Truncate语句在MSSQLServer2000中用法和原理的说明:
      Truncate table 表名 速度快,而且效率高,因为:
      TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。
      DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。
      TRUNCATE TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如果想保留标识计数值,请改用 DELETE。如果要删除表定义及其数据,请使用 DROP TABLE 语句。
      对于由 FOREIGN KEY 约束引用的表,不能使用 TRUNCATE TABLE,而应使用不带 WHERE 子句的 DELETE 语句。由于 TRUNCATE TABLE 不记录在日志中,所以它不能激活触发器。
      TRUNCATE TABLE 不能用于参与了索引视图的表。
      对用TRUNCATE TABLE删除数据的表上增加数据时,要使用UPDATE STATISTICS来维护索引信息。
      如果有ROLLBACK语句,DELETE操作将被撤销,但TRUNCATE不会撤销。
      示例
      下例删除 authors 表中的所有数据。
      TRUNCATE TABLE authors
      权限
      TRUNCATE TABLE 权限默认授予表所有者、sysadmin 固定服务器角色成员、db_owner 和 db_ddladmin 固定数据库角色成员且不可转让。
      补充参数:
      TRUNCATE TABLE name [DROP/REUSE STORAGE]
      DROP STORAGE:显式指明释放数据表和索引的空间
      REUSE STORAGE:显式指明不释放数据表和索引的空间

    展开全文
  • oracle中的truncate用法

    千次阅读 2015-03-21 23:56:53
    oracle中的truncate  语法:TRUNCATE TABLE table;  在使用truncate语句(DDL语言)可以删除表中的所有记录。使用truncate语句删除数据时,通常要比使用delete语句快得多,这是因为使用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;
    未选定行
    展开全文
  • –oracle中merge into用法解析 –oracle在9i引入了merge,在oracle10g中merge有如下改进 –1.update或insert子句是可选的 –2.update和insert子句是可选的 –3.在on条件中使用常量过滤谓词来insert所有行到目标表中...

    –oracle中merge into用法解析
    –oracle在9i引入了merge,在oracle10g中merge有如下改进
    –1.update或insert子句是可选的
    –2.update和insert子句是可选的
    –3.在on条件中使用常量过滤谓词来insert所有行到目标表中,不需要连接源表和目标表。
    –4.update子句后面可以跟delete子句来除一些不需要的行
    merge into 的形式
    merge into [target-table] a using [source-table sql] b on([conditional expression] and […]…)
    when matched then
    [update sql]
    when not matched then
    [insert sql]
    作用:判断B表和A表是否满足ON中的条件,如果满足则用B去更新A表,
    如果不满足,则将B表数据插入A表。但是有很多选项,如下:
    1.正常模式
    2.只update或者只insert
    3.带条件的update或带条件的insert
    4.全插入insert实现
    5.带delete的update
    –1.正常模式
    –1.测试建以下表
    create table a_merge(id number,name varchar2(12),year number);
    create table b_merge(id number,aid number,name varchar2(12),year number,city varchar2(12));
    create table c_merge(id number,name varchar2(12),city varchar2(12));
    –2.预埋数据
    truncate table a_merge;
    insert into a_merge values(1,‘liuwei’,20);
    insert into a_merge values(2,‘zhangbin’,21);
    insert into a_merge values(3,‘fuguo’,20);

    truncate table b_merge;
    insert into b_merge values(1,2,‘zhangbin’,33,‘colorado’);
    insert into b_merge values(2,4,‘yihe’,33,‘virgin’);
    insert into b_merge values(3,3,‘fuguo’,55,‘maine’);
    insert into b_merge values(11,11,‘ligd’,55,‘vermont’);
    insert into b_merge values(12,22,‘test’,55,‘montana’);
    commit;
    –3.使用merge into 用b_merge来更新a_merge中的数据
    Merge into a_merge a
    using (select b.aid, b.name, b.year from b_merge b) c
    on (a.id = c.aid)
    when matched then
    update set a.year = c.year
    when not matched then
    insert (a.id, a.name, a.year) values (c.aid, c.name, c.year);
    commit;
    –4.查询结果
    select * from a_merge;
    select * from b_merge;

    –2.只update或者只insert模式
    –2.1只update
    Merge into a_merge a
    using (select b.aid, b.name, b.year from b_merge b) c
    on (a.id = c.aid)
    when matched then
    update set a.year = c.year;
    commit;
    –2.2只insert
    Merge into a_merge a
    using (select b.aid, b.name, b.year from b_merge b) c
    on (a.id = c.aid)
    when not matched then
    insert (a.id, a.name, a.year) values (c.aid, c.name, c.year);
    commit;

    –3.带where条件的insert和update模式
    Merge into a_merge a
    using (select b.aid, b.name, b.year,b.city from b_merge b) c
    on (a.id = c.aid)
    when matched then
    update set a.year = c.year where c.city=‘vermont’
    when not matched then
    insert (a.id, a.name, a.year) values (c.aid, c.name, c.year) where c.city=‘vermont’;
    commit;

    –4.无条件的insert
    Merge into a_merge a
    using (select b.aid, b.name, b.year,b.city from b_merge b) c
    on (1=2)
    when not matched then
    insert (a.id, a.name, a.year) values (c.aid, c.name, c.year);
    commit;
    –4.带delete的update
    Merge into a_merge a
    using (select b.aid, b.name, b.year,b.city from b_merge b) c
    on (1=1)
    when matched then
    update set a.year = c.year where c.city=‘vermont’
    delete where a.id=1;
    commit;

    展开全文
  • truncate用法

    千次阅读 2008-08-19 09:45:00
    TRUNCATE 命令用法语法TRUNCATE TABLE name参数name是要截断的表的名称或要删除其全部行的表的名称。注释TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE ...

      TRUNCATE 命令用法
    语法
    TRUNCATE TABLE name

    参数
    name

    是要截断的表的名称或要删除其全部行的表的名称。

    注释
    TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。

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

    TRUNCATE TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如果想保留标识计数值,请改用 DELETE。如果要删除表定义及其数据,请使用 DROP TABLE 语句。

    对于由 FOREIGN KEY 约束引用的表,不能使用 TRUNCATE TABLE,而应使用不带 WHERE 子句的 DELETE 语句。由于 TRUNCATE TABLE 不记录在日志中,所以它不能激活触发器。

    TRUNCATE TABLE 不能用于参与了索引视图的表。

    示例
    下例删除 authors 表中的所有数据。

    TRUNCATE TABLE authors
    权限
    TRUNCATE TABLE 权限默认授予表所有者、sysadmin 固定服务器角色成员、db_owner 和 db_ddladmin 固定数据库角色成员且不可转让。

    展开全文
  • SQL中Truncate用法

    千次阅读 2018-01-23 16:02:40
    当你仍要保留该表,但要删除所有记录时, 用 truncate;当你要删除部分记录时(always with a WHERE clause), 用 delete.   Truncate是一个能够快速清空资料表内所有资料的SQL语法。并且能针对具有自动递...
  • delete 语法: delete table table_name(删除整个表的数据) 或 delete table table_name where 条件 (删除满足...insert into class values (1,‘小明’,‘男’); insert into class values (2,‘小强’,‘男’); ins
  • #此时由于truncate命令的特性,不会保留删除的记录数,所以默认从a_id=1开始。     delete要点: 1)逐行删除 ;  2)会保留增长的主键记录。 例子:delete from a_table; #系统提示删除了24条记录。 ...
  • ORACLE MERGE INTO UPDATE DELETE 用法 使用该MERGE语句从一个或多个源中选择行以进行更新或插入表或视图。您可以指定条件以确定是更新还是插入目标表或视图。 此语句是组合多个操作的便捷方式。它可以让你避免...
  • 本文导读:Insert 是T-sql中常用语句,但我们在开发中经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个 table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT ...
  • execute immediate 'truncate table '||tabtest; -- forall只能写一条sql。。。 open curr; loop fetch curr bulk collect into vvid,vvnm,vvtp limit 1000; forall i in 1..vvid.count insert into T_...
  • Tittlemysql的导入导出导出命令:导入命令管理表记录增加一条表记录更新表记录删除表内容匹配条件查询truncate1.truncate使用语法2.truncate与drop,delete的对比 mysql的导入导出 注:这种方法导出的文件是带sql语句...
  • execute immediate 'truncate table '||tabtest; -- forall只能写一条sql。。。 open curr; loop fetch curr bulk collect into vvid,vvnm,vvtp limit 1000; forall i in 1..vvid.count insert into T_TEST2...
  • DB2的TRUNCATE功能

    万次阅读 2016-09-22 18:02:04
    1、在DB2版本的9.7以后支持TRUNCATE功能用法:  TRUNCATE TABLE [tableName] DROP STORAGE IGNORE DELETE TRIGGERS CONTINUE IDENTITY IMMEDIATE;  可以简写为TRUNCATE TABLE [tableName] IMMEDIATE,但它有个...
  • DB2 TRUNCATE 使用

    千次阅读 2013-05-24 21:14:06
    import from '空文件'of ixf messages log1.txt replace into test  通过空文件,替换原表中的数据 但是从V9.7开始,DB2 支持TRUNCATE,快速清空表数据 语法:  .-TABLE-. .-DROP ...
  • insert /* APPEND */ into emp中/* APPEND */Append 是将数据添加在table 后。不会替换掉里面相同的数据。也不会使用index ,对添加到里面的数据排序。 使用新块而不用已经已经使用...
  • DB2 - TRUNCATE命令

    千次阅读 2013-01-30 14:26:06
    DB2 - TRUNCATE命令 支持/不支持? 答案: DB2 9.7以下版本里不支持TRUNCATE命令, 9.7开始支持该命令. **** 最新DB2 9.7开始兼容了很多PL/SQL的语法, 开始支持Truncate命令 Now with ...
  • DB2 TRUNCATE的使用

    千次阅读 2017-04-10 12:14:38
    DB2 TRUNCATE的使用    在DB2中,常用的快速清空表中的数据方法有两种,分别是:   第一种 ALTER TABLE O_LNB_SM_USERINFO ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE; 将表O_LNB_SM_USERINFO ...
  • Oracle 中truncate与delete的区别
  • 编写背景: 近日调试存储过程,就未与同事商量先truncate了表,事后得知表中另一个部门插入的数据全没了,为了想法找回数据, 特测试了logminer的用法 1,logminer可否用于恢复tru...
  • SQL进阶知识(八)——TRUNCATE TABLE 命令

    千次阅读 2019-09-18 16:21:47
    点击上面蓝色字SQL学习之路,关注我们哦~TRUNCATE TABLE的作用TRUNCATE TABLE 命令用于删除现有数据表中的所有数据。你也可以使用 DROP TA...
  • truncate是oracle中独有的关键字吧!它的作用是清空一个表格,在删除数据方面,其与delete有一些区别,以便自己记住:1、在功能上,truncate是清空一个表的内容,它相当于delete from table_name。2、delete是dml...
  • MERGE INTO

    2019-07-17 14:16:14
    参考资料:... 文档:Oracle Database SQL Reference, 10g Release 2 (10.2)---1235页 Oracle MERGE INTO用法总结: Use the MERGE statement to selec...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,055
精华内容 6,422
关键字:

into用法truncate