set unused的用法(ORACLE删除字段) 一.问题 现场有一张大数据量的分区表,数据量在10G以上.因某种原因需要删除其中的某些字段.如果直接用alter table1 drop (column1,column2);或者alter table1 drop column column1;和alter table1 drop column column2; 的话,需要执行很长时间,这期间该表被锁,会影响到其它应用. 二.解决方法 使用set unused,等系统空闲时再drop unuse…
一.问题 现场有一张大数据量的分区表,数据量在10G以上.因某种原因需要删除其中的某些字段.如果直接用 alter table1 drop (column1,column2); 或者alter table1 drop column column1;和alter table1 drop column column2; 的话,需要执行很长时间,这期间该表被锁,会影响到其它应用. 二.解决方法 使用set unused,等系统空闲时再drop unused. 1. alter table table…
create or replace procedure PROC_test is --Description:删除字段中的指定字符(回车chr(13).换行chr(10)) --By LiChao --Date:2016-03-01 colname ); --列名 cnt number; --包含换行符的列的行数 v_sql ); --动态SQL变量 begin --读取表中的列 for col in (select column_name from user_tab_columns where…
declare v_count number; begin ) into v_count from all_tab_columns a where a.TABLE_NAME = 'XXX1' and a.COLUMN_NAME = 'TEST1'; ) THEN EXECUTE immediate 'ALTER TABLE XXX1 DROP COLUMN TEST1'; END IF; end; 字段名是保存在sys.col$中,但是一般开发人员没权限,但是会有一个视图,一般情况下视图名为al…
SET UNUSED的用法 原理:清楚掉字典信息(撤消存储空间),不可恢复. 可以使用 SET UNUSED选项标记一列或者多列不可用. 使用DROP SET UNUSED选项删除被被标记为不可用的列. 语法: ALTER TABLE table SET UNUSED (COLlist多个)或者 ALTER TABLE table SET UNUSED COLUMN col单个; ALTER TABLE table DROP UNUSED COLUMNS; set unu…
ALTER TABLE — 更改表属性添加字段: alter table `user_movement_log`Add column GatewayId int not null default 0 AFTER `Regionid` (在哪个字段后面添加) 删除字段: alter table `user_movement_log` drop column Gatewayid 调整字段顺序: ALTER TABLE `user_movement_log` CHANGE `GatewayId`…
Oracle start with connect by prior 用法 语法: select * from 表名 where 条件1 start with 条件2 connect by prior 当前表字段=级联表字段 start with与connect by prior语句完成递归记录,形成一棵树形结构,通常可以在具有层次结构的表中使用. start with表示开始的记录 connect by prior 指定与当前记录关联时的字段关系代码: --创建部门表,这是一个具有层次结…
Oracle删除重复行 分类: ORACLE2010-12-12 17:10 423人阅读 评论(0) 收藏 举报 oracletabledeleteintegerinsert.net 查询及删除重复记录的SQL语句1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere peopleId in (select peopleId from people group by peopleId having count(…
方法1: --Oracle 根据字段值查询其所在的表.字段 DECLARE CURSOR cur_query IS SELECT table_name, column_name, data_type FROM user_tab_columns; a NUMBER; sql_hard VARCHAR2(); vv NUMBER; BEGIN FOR rec1 IN cur_query LOOP a:=; IF rec1.data_type ='VARCHAR2' OR rec1.data_type…
oracle删除日志文件 删除日志文件的语法例如以下: alter database drop logfile member logfile_name; 删除日志文件须要注意例如以下几点: 1.该日志文件所在的的日志文件组不能处于current状态,须要运行一次手动日志切换,将该日志文件组的状态改动为inactive 2.该日志文件所在的日志文件组中必须包括有其它的日志成员. 3假设数据库执行在归档模式下,则应该在删除日志文件之前,确定它所在的日志文件组已经被归档,否则会导致数据丢失. 日志文件…