`

Oracle创建主键时处理重复数据的程序

阅读更多
/****************************
v_index 为主键语句
tablename 为表名
written by:wonder
modified by:
****************************/

CREATE OR REPLACE PROCEDURE prc_delete(v_index IN VARCHAR2, tablename IN VARCHAR2) IS
  v_sql  VARCHAR2(2000);
  v_sql1 VARCHAR2(2000);

BEGIN
  EXECUTE IMMEDIATE upper('truncate table except_table');
  v_sql1 := upper(REPLACE(v_index, ';', ' ') || ' exceptions into except_table');
  BEGIN
    EXECUTE IMMEDIATE v_sql1;
  EXCEPTION
    WHEN OTHERS THEN
      NULL;
  END;

  v_sql := upper('delete from ' || tablename || ' where rowid in (select row_id from except_table where table_name=''' ||
                 tablename || ''')');
  EXECUTE IMMEDIATE v_sql;
  EXECUTE IMMEDIATE REPLACE(v_index, ';', ' ');
  COMMIT;
END prc_delete;
分享到:
评论

相关推荐

    ORACLE9i_优化设计与系统调整

    §6.3.2 创建最少可重复测试 90 §6.3.3 测试假想 90 §6.3.4 记录和自动测试 90 §6.3.5 避免常见错误 90 第二部分 ORACLE应用系统设计优化 91 第8章ORACLE数据库系统优化安装 91 §7.1 应用系统环境规划和Oracle...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    Access 微软 Access是一种桌面数据库,只适合数据量少的应用,在处理少量 数据和单机访问的数据库时是很好的,效率也很高 小型企业 三、 Oracle数据库概述 ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以...

    oracle数据库经典题目

    PGA区是在用户进程连接数据库,创建一个会话时,由Oracle为用户分配的内存区域,保存当前用户私有的数据和控制信息,因此该区又称为私有全局区。每个服务器进程只能访问自己的PGA区,所有服务器进程PGA区总和即为...

    Oracle数据库设计策略及规范.docx

    索引对新增,删除,更新的性能影响比较大,对相关的表的索引使用要权衡 为表和索引建立不同的表空间,禁止在系统表空间中放入非核心oracle系统成分的对象, 确保数据表空间和索引表空间位于不同的磁盘磁盘驱动器上...

    ORACLE之常用FAQ V1.0(整理)

    [Q]怎么知道那些表没有建立主键 21 [Q]dbms_output提示缓冲区不够,怎么增加 22 [Q]怎么样修改表的列名 22 [Q]怎么样给sqlplus安装帮助 22 [Q]怎么样快速下载Oracle补丁 22 [Q]如何移动数据文件 23 [Q]如果管理联机...

    精通SQL 结构化查询语言详解

    《精通SQ:结构化查询语言详解》全面讲解SQL语言,提供317个典型应用,读者可以随查随用,针对SQL Server和Oracle进行讲解,很有代表性。 全书共包括大小实例317个,突出了速学速查的特色。《精通SQ:结构化查询语言...

    精通SQL--结构化查询语言详解

    5.2.3 使用distinct去除重复信息 86 5.2.4 多列查询 87 5.2.5 查询所有的列 88 5.3 排序查询结果 89 5.3.1 单列排序 89 5.3.2 多列排序 90 5.3.3 采用序号进行多列排序 91 5.3.4 反向排序 92 5.4 使用where...

    sql总结.doc

    非聚簇索引:对主键和非主键字段建立索引时,直接找到B+树中的叶子结点,B+树中叶子结点存放的是对应数据的地址,并通过地址找到数据。 (3)Create index 索引名 on 表名(字段名) (4)索引分为聚簇索引和非聚簇...

    Oracle事例

    1.增加主键 alter table TABLE_NAME add constraint KEY_NAME primary key (TABLE_COLUMN); 指定表空间 alter table TABLE_NAME add constraint KEY_NAME primary key (TABLE_COLUMN) using index tablespace ...

    程序员的SQL金典.rar

     4.5 抑制数据重复  4.6 计算字段  4.6.1 常量字段  4.6.2 字段间的计算  4.6.3 数据处理函数  4.6.4 字符串的拼接  4.6.5 计算字段的其他用途  4.7 不从实体表中取的数据  4.8 联合结果集  4.8.1 简单的...

    C#开发经验技巧宝典

    0968 建立Oracle数据库连接 566 0969 如何在数据表中设置主键 566 0970 DataSet读取XML文件中数据作为数据源 567 0971 如何读取Fox的DBF文件 567 0972 通用方法实现数据增、删、改功能 567 0973 通用方法...

    勤哲excel服务器2010教程

    6.1 定义重复数据项 73 6.2 动态取值的下拉列表 76 6.3 用表间公式提取数据 79 6.3.1 定义表间公式 79 6.3.2 应用表间公式 86 6.4 列表选择数据规范 86 6.4.1 定义列表 86 6.4.2 设置数据项的列表选择填写规范 88 ...

    精通sql结构化查询语句

    1.3 数据模型 1.3.1 关系数据库模型 1.3.2 数据模型的构成 1.3.3 常见的数据模型 1.4 关系型数据库 1.4.1 关系型数据库的定义 1.4.2 关系型数据库与表 1.4.3 主键与外键 1.4.4 字段约束 1.4.5 数据的完整性 1.4.6 ...

    mysql数据库的基本操作语法

    每个表最多只允许一个主键,建立主键约束可以在列级别创建,也可以在表级别上创建。MySQL的主键名总是PRIMARY, 当创建主键约束时,系统默认会在所在的列和列组合上建立对应的唯一索引。 列模式: create table temp...

    AX DBBuilder 2007(最新多语言版)

    2007.7.24 加入选择数据表列表功能 2007.7.24 快捷键更改 2007.7.24 更正Oracle数据库无法更改NUMBER类型精度和小数位数问题 2007.7.26 加入多语言支持 2007.7.26 更正主键设置问题 2007.7.26 ...

    SQL必知必会(第3版)--详细书签版

    第8章 使用数据处理函数 44 8.1 函数 44 8.2 使用函数 45 8.2.1 文本处理函数 46 8.2.2 日期和时间处理函数 47 8.2.3 数值处理函数 50 8.3 小结 50 第9章 汇总数据 51 9.1 聚集函数 51 9.1.1 AVG()函数 52 ...

    数据库设计培训.pptx

    数据库设计概述 什么是数据库设计 数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,...

    2009达内SQL学习笔记

    数据太多时,最好别使用上句,会使DBMS降低检索和应用程序的性能。(*通配符) 2、对数据类型的列可进行运算(如加减乘除)。 3、对列起别名:有直接起别名,加AS起别名,用双引号起别名等三种方法 (单引号,引起...

Global site tag (gtag.js) - Google Analytics