--oracle删除数据库表(无主键)中重复的记录 1,  CREATE TABLE newtable as SELECT distinct * FROM T_SYSTEM_MENU_PRIV; 2,  drop table T_SYSTEM_MENU_PRIV; 3, ALTER TABLE newtable rename to T_SYSTEM_MENU_PRIV;…
问题描述: 已知:OGG在同步无主键的表时,OGG会自动设置表的全字段为主键,若目标表字段多于源表,同步过程中replicat进程可以读取insert操作但无法进行update/delete操作,从而导致replicat进程abend. 探究:Oracle12c引入了一个新特性--隐藏字段,若将目标表多的字段隐藏,ogg是否能进行正常同步. 环境准备: 在同一数据库中不同用户下进行ogg同步,源端用户oggs,目标端用户oggt. 源端创建A表结构: SQL>create table oggs.…
--/第1步**********删除所有表的外键约束*************************/   DECLARE c1 cursor for select 'alter table ['+ object_name(parent_obj) + '] drop constraint ['+name+']; ' from sysobjects where xtype = 'F' open c1 declare @c1 varchar(8000) fetch next from c1 int…
步骤一:  删除user drop user ×× cascade 说明: 删除了user,只是删除了该user下的schema objects,是不会删除相应的tablespace的. 步骤二: 删除tablespace DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;…
查询以及删除一个数据库表内的重复数据. 1.查询表中的多余的重复记录,重复记录是根据单个字段来判断的. select * from biao where id in (select id from biao group by id having count(id) >1 ) 2.删除表中的多余的重复记录,重复记录是根据(id)来判断,只留rowid 最小值. delete from  biao where id  in   ( select  id from biao group by id h…
查找所有的元素 Student.objects.all() 查找单个元素 Student.objects.get(主键=值) 主键 pk = xxx 更新数据库数据后进行保存 stu.save() 删除数据库表中的行 stu.delete() 需要注意的点: update_student 函数和 delete_student 函数 返回值里面没有 request def update_student(request): stu = Student.objects.get(pk = 2) # pk…
关于Oracle.ManagedDataAccess数据库表加字段后,必须重启的问题,解决方法如下:在数据库连接字串中,增加一个参数:Metadata Pooling=false如“Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=1.1.6.200)(PORT=1521)))(CONNECT_DATA=(SID=wg)));User Id=usenter;Password=usert2017;Pooling=…
--删除数据库表数据 慎用 create PROCEDURE sp_DeleteAllData AS ) ) ) ) ) ) begin try begin tran -- 失效索引,触发器 open tb fetch next from tb into @tblName begin set @sNOCHECKCONSTRAINT ='ALTER TABLE ' + @tblName+ ' nocheck CONSTRAINT ALL' set @sDISABLETRIGGER ='ALTER…
连接:http://linben.blog.51cto.com/6205951/1293619 1.先禁用数据库中所有的约束 select 'alter table ' || table_name || ' disable constraint ' ||constraint_name || ';'from user_constraintswhere constraint_type = 'R'; 执行所有约束禁用命令. 2.清空所有表中的数据 select 'truncate table '||t…
在程序开发中,我们经常有写数据库表的操作,数据表中经常带有主键自增序列,如何获取自增序列.spring中提供了相应的类 DataFieldMaxValueIncrementer. DataFieldMaxValueIncrementer 接口定义了3个获取下一个主键值的方法: int nextIntValue(): 获取下一个主键值,主键数据类型为int: long nextLongValue(): 获取下一个主键值,主键数据类型为long: String nextStringValue():…
1.关于 cascade constraints 假设A为主表(既含有某一主键的表),B为从表(即引用了A的主键作为外键). 则当删除A表时,如不特殊说明,则 drop table A 系统会出现错误警告的讯息而不会允许执行. 此时必须用,drop table A cascade constraints: SQL> select CONSTRAINT_NAME,TABLE_NAME from dba_constraints where owner = 'SYS' and TABLE_NAME =…
一.前言 在我们操作系统中,有时要卸载oracle数据库,每一次都要去删除win下的注册表,为了方便删除注册表的信息,下面通过一种删除注册表快捷的脚本. 二.脚本信息 Windows Registry Editor Version 5.00 [-HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE] [-HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ODP.NET] [-HKEY_CURRENT_USER\Software\Microsoft\Window…
比如现在有一人员表  (表名:peosons)若想将姓名.身份证号.住址这三个字段完全相同的记录查询出来 select   p1.*   from   persons   p1,persons   p2   where   p1.id<>p2.id   and   p1.cardid   =   p2.cardid   and   p1.pname   =   p2.pname   and   p1.address   =   p2.address 可以实现上述效果. 几个删除重复记录的SQL…
Oracle数据库表类型 1.堆表 2.索引组织表 3.索引clustered表 4.散列clustered表 5.有序散列clustered表 6.嵌套表 7.临时表 8.对象表 9.外部表 Oracle不同类型表的一些共同特性 1. 一个表最多可以用1000个列.多于254列的行会被存储在多个单独的行段中,这些行相互指向, 每次必须重新组装为完整的行映像. 2. 行数是没有限制的.但是有一些硬件或操作系统上的限制, 比如一个表空间最多可以有1024个data  file, 每个data fi…
1.确认当前数据库是否为要删除的那一个select name from v$database; 2.关闭数据库shutdown immediate; 3.以restrict方式重新打开数据库,并启动到mount状态sqlplus / as sysdbastartup restrict mount;    --> # 只有拥有sysdba角色权限的用户才可以登录数据库,普通用户则不可以                                                         …
1.查询数据库中所有的数据库表 SELECT * FROM sysobjects WHERE xtype = 'u' AND name != 'sysdiagrams'; 2.查询数据库表中的说明字段 SELECT A.name AS table_name, B.name AS column_name, C.value AS column_description FROM sys.tables A INNER JOIN sys.columns B ON B.object_id = A.objec…
1.users表空间一般情况下是默认的,需将别的空间设置成默认,再删除users表空间(oracle不允许删除默认空间的). 2.删除表空间的同时会报这样的错:ORA-22868错误.原因:推断应该存在对象存储在USERS表空间中,而LOB对象存储在其他表空间. 需要看一下这三篇分析的文章(这篇博客有三篇文章,感谢这位博主),我觉得不错.. http://blog.itpub.net/4227/viewspace-610470/ 如果情况和他差不多,其实就来直接以下几句好了 SQL> DROP…
需求: 项目中有一张表大概有7000多万条数据,造成表空间已满,需要清理部分数据,打算清理3000万. 2B 做法: delete from table_name where ID > '40000000'; 备注:select count(1) from table_name where ID > 'his_batch_4000000';  的结果大概有3000万条数据. 影响: 删了N个小时也没执行完,最终强制停止,造成表被锁.(没有管理员权限,需要联系DBA 才能解锁) 改进: decl…
create or replace function count_rows/**查询各表实际记录数*/(table_name in varchar2,owner in varchar2 default null)return numberauthid current_userIS num_rows number; stmt varchar2(2000);begin if owner is null then stmt := 'select count(*) from "'||table_name…
--查看是否有除number,char,date,varchar2,clob/blob之外的类型,比如:NVARCHAR2,TIMESTAMP(6),FLOATSELECT DISTINCT a.DATA_TYPE FROM user_tab_cols a; --对于number类型的,还需查询是否有确定的精度,若无,根据实际情况确定精度.SELECT *  FROM user_tab_cols a WHERE a.data_type = 'NUMBER'   AND a.data_precis…
Oracle 清理用户所有的表 PLSQL中执行语句 select 'drop '||object_type||' '||object_name||';' from user_objects; 结果集是所有的删除表语句,将查询结果保存为clear.sql 在sql>提示符下@clear.sql 执行该脚本 SQLPlus 登录 1.直接敲sqlplus并回车就是启动SQLPLUS,输入user及password将使用户登陆到缺省的数据库 C:\Documents and Settings\Adm…
1.创建表空间(存放数据) create tablespace xtba_datadatafile 'F:\ORACLE\ORADATA\ORCL\XTBA.DBF'size 50mautoextend onnext 5m; 2.创建用户并指定表空间 create user xtba_20170112 identified by xtba_20170112 default tablespace xtba_data; 3.给用户授予权限 grant dba to xtba_20170112; 自此…
windows下可以使用向导一步一步创建数据库,注意编码. windows连接到某一个数据库实例(不然会默认到一个实例下面):set ORACLE_SID=TEST --登录开始创建表空间及可以操作的用户sqlplus / as sysdba; --创建表空间create tablespace db_test datafile 'D:\oracle\oradata\TEST\db_test.dbf' size 50m autoextend on; --查询创建好的表空间select defaul…
1.MySQL 获取表名: 用“show tables”命令.在程序中也可以采用该命令获取,在返回的RowSet中的“Tables_in_db”读出来.其中“db”是指你的数据库的名称,比如说Tables_in_productdb. 获取某个表的字段: 用“desc tablename”命令.取得方式和上面类似. 此外,还可用MySQL数据库系统表取得,在information_schema库中有系统中的一些基础性表,比如说TABLES\COLUMNS.但一般情况下,程序只访问本库中的表,所以不…
1.我们在创建sqlserver得数据表的主键的时候,有时会出现,后面加一串随机字符串的情况,如图所示: 2.如果你有强迫症的话,可以使用以下sql脚本进行修改,将主键的名称修改为PK_表名. --将表的主键名统一规范为PK_表名 DECLARE @PK_Name_Old varchar(100),@Table_Name varchar(100),@PK_Name_New varchar(100),@Col_Name varchar(100) DECLARE Cursor_Update_Tabl…
dba_data_files:数据库数据文件信息表.可以统计表空间大小(总空间大小). dba_free_space:可以统计剩余表空间大小. 增加表空间即向表空间增加数据文件,表空间大小就是数据文件总大小. 检查Oracle各个表空间的增长情况(各表空间使用率) select A.tablespace_name,(1-(A.total)/B.total)*100 used_percent from (select tablespace_name,sum(bytes) total from db…
  这是Oracle对正則表達式的backreference的描写叙述 从定义中能够看到,当匹配表达式中已()的形式将一个子串包括起来.后面就能够以\? 的形式来引用.\1相应第一个(),\2相应第二个...   反向引用的引入使得正則表達式的匹配功能变得更加强大,介绍两个在oracle正则函数中的应用   regexp_like   regexp_like('1211233','^([0-9])(\d)\1\1\2(\d)\3$') 上面这个样例中,匹配表达式里,\1表示第一个([0-9]).…
配置数据库: user:orcl.passward:71911.Hao全局数据库名:orcl..解锁数据库用户名,SCOTT,SYSTEM,SYS,   PWD:71911.Hao输入sqlplus,然后提示输入用户名,直接输入user/password@database就可以了,然后出来sql>,就可以输入各种语句了sqlplus scott/tiger@orcl, 后面要指定是连接哪个库(密码不显示,没事)sqlplus sys/719118Ha as sysdbadesc table;ta…
python manage.py sqlmigrate your_app_name 0001 把your_app_name换成自己的app名字即可看到框架自动生成的创建表sql语句,于是我就这样看到了sql语句.我直接在数据库中执行了该句sql命令手动创建了表,再启动应用,可以正常启动,问题解决. D:\PycharmProjects\autotest>python manage.py sqlmigrate product 0001 BEGIN;---- Create model Product…
打开Toad, 1,菜单栏Session—>new Connection….打开如下窗口: 2,进入之后,菜单DatebaseàSechema  Brower...找到Table Space(表空间)选项卡 打开之后显示如下界面: 然后切换另一个选项卡:Date  Feiles(如图所示) 再点开之后: 点此处打开: 指定后,点OK 接下来是创建用户: 到此,你就可以用指定的用户名和密码使用数据库,创建表.视图.序列等等一系列的操作了…