
oracle
王哈哈er
廉颇老矣,能饭!
展开
-
误删除 Oracle 数据库数据的恢复方法
学习数据库时,我们只是以学习的态度,考虑如何使用数据库命令语句,并未想过工作中,如果误操作一下,都可能导致无可挽回的损失。今天主要以oracle数据库为例,介绍关于表中数据删除的解决办法。(不考虑全库备份和利用归档日志)删除表中数据有三种方法:delete(删除一条记录)drop或truncate删除表格中数据1.delete误删除的解决方法原理:利用oracle提供的闪回方法,如果在删除数据后还...转载 2018-02-22 17:30:43 · 1129 阅读 · 0 评论 -
sql 查询表共多少列(oracle,mysql,sqlserver)
1、oracle:select count(*) from user_tab_cols where table_name='表名';--表名含英文的话应为英文大写字母结果如图:2、mysql:select count(*) from information_schema.COLUMNS where table_name='表名';--表名大小写均可结果如图:3、sqlserver:select c...转载 2018-06-06 14:07:06 · 8054 阅读 · 0 评论 -
oracle存储过程中使用execute immediate执行sql报ora-01031权限不足的问题
--问题描述: 用户在存储过程中调用execute immediate 执行 create table语句报错 ORA-01031, 并且反映直接执行该语句无报错。--原因根据问题可以发现用户确实有create table的权限,查询dba_role_privs 和 dba_sys_privs 发现用户有 resource权限,但并无显示的 create table权限。在存储过程中调用execu...转载 2018-06-06 21:06:22 · 1948 阅读 · 0 评论 -
pl/sql输入函数括号后卡顿的解决方法
症状:PL/SQL 输入函数卡顿 如:to_number( 只打到左括号时就卡死 或user.打到点时就卡死。原因:因为plsql有个代码助手的功能,在输入"."或者“(”等字符的时候会自动帮你去关联一些你有可能需要的信息,如果连数据库速度比较慢,或者电脑不给力的话会相当慢,很让人烦躁。解决方法:可以通过: 工具-》首选项-》用户界面-》代码助手 里面把“自动激活”前面的勾去掉,取消这个功能,就o...转载 2018-05-31 09:40:34 · 2117 阅读 · 0 评论 -
oracle进程死锁解决方法
1、查找对应的sid和sessionselect object_name,machine,s.sid,s.serial# from v$locked_object l,dba_objects o ,v$session s where l.object_id=o.object_id and l.session_id=s.sid;2、在客户端执行杀掉alter system kill session ...转载 2018-06-28 19:42:31 · 1280 阅读 · 0 评论 -
解决oracle语句中 含数字(整数和小数)的字符串按数字排序问题
普通排序利用:order by 字段名但是遇到有中文而且类型是varchar类型的结果就是这样:政采代(甲)字第0298号政采代(甲)字第0421号政采代(甲)字第1098号政采代(甲)字第1267号(延续)政采代(甲)字第1179号(延续)但是我们想要的结果应该是这样:政采代(甲)字第0298号政采代(甲)字第0421号政采代(甲)字第1098号政采代(甲)字第1179号(延续)政采代(甲)字第...转载 2018-07-05 11:27:58 · 3181 阅读 · 0 评论 -
oracle 正则表达式 REGEXP_SUBSTR 函数
REGEXP_SUBSTR函数格式如下:REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)String:需要进行正则处理的字符串pattern:进行匹配的正则表达式position:起始位置,从第几个字符开始正则表达式匹配(默认为1)occurrence:标识第几个匹配组,默认为1modifier:模式('i'不区分大小写进...转载 2018-07-05 16:56:54 · 1697 阅读 · 0 评论 -
oracle对字段MD5加密函数
CREATE OR REPLACE FUNCTION MD5(passwd IN VARCHAR2)RETURN VARCHAR2IS retval varchar2(32);BEGIN retval := utl_raw.cast_to_raw(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT_STRING => passwd)) ;RETURN...原创 2018-07-26 10:48:15 · 15358 阅读 · 0 评论 -
oracle中左填充(lpad)和右填充(rpad)的介绍与用法
在实际应用中经常会用到固定字段的长度,但往往有些数据不能达到规定的长度,这是就需要我们用其他的字符来填充, 在Oracle中有函数解决这一问题。语法LPAD(string,padded_length,[ pad_string]) :从左开始填充,L:left 左,PAD:pad 填充RPAD(string,padded_length,[ pad_string]) :从右开始填充,R:ri...转载 2018-08-20 13:51:17 · 3668 阅读 · 0 评论 -
oracle、mysql、postgresql 对 varchar 类型的数字排序不准解决办法
如果字段的类型为 varchar 型,但是里面存储的是纯数字,怎么实现按照数字的大小来排序?直接 order by 某些情况下会排序不准确:下面的方法对于mysql和oracle都适用:order by 字段+0order by 字段*1等等都可以实现例:...原创 2018-11-09 13:12:37 · 3281 阅读 · 0 评论 -
plsql 中文乱码问题解决(显示问号)
问题:打开 plsql,执行 sql 语句,中文显示乱码:解决方案:1)输入 sql 语句select userenv('language') from dual 查看数据库字符集2)输入 sql 语句 select * from V$NLS_PARAMETERS查看本地字符集,查看第一行和第九行是否对应3)查看下环境变量的设置,查看是否有变量 NLS_LANG,没有则...转载 2018-11-27 16:54:35 · 3228 阅读 · 2 评论 -
oracle 存储过程中调用同义词报错“表和视图不存在”
创建了同义词,直接查询都是正常的,但存储过程中一调用就报“”表和视图不存在“”,因为"在存储过程中访问公共同义词,必须直接对用户授权,而不能通过角色授权"。见 http://blog.youkuaiyun.com/linminqin/article/details/6671785比如我 test 用户的存储过程中要调用 ca 的表,在 test 创建 ca 的同义词后需要grant all on ...转载 2019-01-22 19:14:18 · 3993 阅读 · 1 评论 -
PLSQL Developer 插入中文乱码解决方法
中文乱码是由于oracle服务器端字符编码 和 Oracle 客户端 字符编码不一致引起的。检查Oracle服务器端字符编码,用select userenv('language') from dual;select * from v$nls_parameters a where a.PARAMETER = 'NLS_CHARACTERSET'; 通过查找注册表:HKEY_LOCAL_MACHIN...转载 2018-05-24 18:58:39 · 2012 阅读 · 0 评论 -
ORACLE 偏移分析函数 lag()与lead() 用法
一、简介 lag与lead函数是跟偏移量相关的两个分析函数,通过这两个函数可以在一次查询中取出同一字段的前N行的数据(lag)和后N行的数据(lead)作为独立的列,从而更方便地进行进行数据过滤。这种操作可以代替表的自联接,并且LAG和LEAD有更高的效率。over()表示 lag()与lead()操作的数据都在over()的范围内,他里面可以使用partition by 语句(用于分组) or...转载 2018-06-05 10:42:45 · 52813 阅读 · 2 评论 -
Oracle trunc()函数处理日期的用法
Oracle trunc()函数的用法 /**************日期********************/ 1.select trunc(sysdate) from dual --2011-3-18 今天的日期为2011-3-18 2.select trunc(sysdate, 'mm') from dual --2011-3-1 返回当月第一天. 3.select...转载 2018-03-09 14:38:59 · 34731 阅读 · 0 评论 -
oracle强制走索引,提高sql查询效率
一般建表的时候加了索引,使用这张表对应字段的时候会走索引,但是有时候会出现不走索引的现象,此时可以加上强制走索引的条件来提高查询效率。select /*INDEX(bmq OPERATOR_CARD_MATCHED_IDX1)*/ xx1, xx2 from table_name bmq注意:只能使用别名,即bmq来强制走索引。...转载 2018-02-23 09:34:21 · 2092 阅读 · 0 评论 -
oracle 英文日期格式转换中文日期格式
oracle 英文日期格式转换中文日期格式02-Mar-2010 这个格式是美国格式,可以使用如下语句转换成中文格式 2010/3/2:SELECT TO_DATE('02 Mar 2010 06:00:00', 'DD MONTH YYYY HH24:MI:SS', 'NLS_DATE_LANGUAGE = American') FROM dual;...原创 2018-03-09 17:52:41 · 14059 阅读 · 0 评论 -
plsql developer如何查询SQL语句执行历史记录
相信很多在plsql developer调试oracle的朋友,经常会遇到在plsql developer执行的某一条SQL语句没有保存,那么我们在plsql developer下如何找到我们执行过的SQL语句呢,其实通过下列方法很容易实现。首先打开plsql developer 工具,并新建SQL窗口,如下图在SQL窗口,使用快捷键plsql developer中按ctrl+e 就会调出历史记录...转载 2018-03-05 10:25:47 · 3597 阅读 · 0 评论 -
wm_concat(column)结果为<clob>的解决办法
某个字段是由多个英文逗号隔开;上网查询资料,是用oracle自带的wm_concat()函数转换出来的;但select出来的结果是<clob>;然后再百度,解决方法是to_char一下;to_char(wm_concat(column))...转载 2018-03-30 18:22:10 · 5012 阅读 · 0 评论 -
ORACLE查询字段中含有空格的数据
SELECT * FROM T_NAME WHERE REGEXP_LIKE(COLNAME, '( )+');SELECT * FROM T_NAME WHERE length(COLNAME) > length(trim(COLNAME));SELECT * FROM T_NAME WHERE substr(字段,-1)=' ';原创 2018-03-29 15:28:31 · 13882 阅读 · 0 评论 -
多个字段的in 和 not in 及其替代写法(exists,not exists)
【转载】先说基本情况:数据库:DB2 8.2,SQL Server 2005 Express表a 有字段:aaa,bbb,还可能有其他字段。记录条数:3764表b 有字段:aaa,bbb,还可能有其他字段。记录条数:4127就是表a的字段aaa跟表b的字段aaa有对应关系,表a字段的bbb跟表b的字段bbb有对应关系。要求只有aaa,bbb两个字段都同时对应上了才算是真的对应上了。(也不知道我...转载 2018-04-23 14:02:27 · 10753 阅读 · 0 评论 -
删除主键无法删除对应索引问题 drop constraint
--在删除一个表主键的时候索引没有删掉的问题,如果主键索引是和主键约束一起建的,则删除约束的时候索引会自动删除掉,如果是先建了索引,然后建立主键,则删除约束的时候索引不会一起被删除掉测试:--创建测试表create table dbmgr.test_pk as select * from REINSDATA.REINS_PROP_PLAN_ADJ where rownum <1000--创建...转载 2018-04-23 14:04:58 · 6103 阅读 · 0 评论 -
Delete from join 用法
delete from tblA left join tblb on。。。用法1、delete from left joindelete from用法DELETE A FROM YSHA A LEFT JOIN YSHB B ON A.code=b.code WHERE b.code is NULLSELECT * FROM YSHASELECT * FROM YSHB等同于DELETE FROM...转载 2018-05-28 14:50:03 · 8768 阅读 · 4 评论 -
关于oracle number类型超过16位的显示问题
不论是在sqlplus还是plsql/developer中,number类型超过16位后,则是通过科学计数法来显示。可以通过以下方式来修改显示方式:sqlplus:set numw 19 在pl/sql developer中->tools->preferences->sql windows->number fields tochar,选中该选项即可。 在toad中-&g...转载 2018-05-22 18:38:32 · 3468 阅读 · 0 评论 -
oracle大数据量迁移快速导出:利用sqluldr2导出数据的方法
亲测使用的是windows10 64位系统首先下载sqluldr2.exe windows系统可以点击链接下载 百度网盘链接: https://pan.baidu.com/s/1A9OUi4WlNT61XZzw-dpGZw 密码: 7mza也可自行百度安装包下载后根据系统使用对应安装包1、首先将sqluldr2.exe复制到到$ORACLE_HOME的bin目录,即可开始使用 在CMD中执行...原创 2018-05-23 21:42:18 · 5779 阅读 · 0 评论 -
Python 连接 Oracle 数据库时遇到的坑及解决办法
本文不再维护,原文:https://error.work/content/14/问题一:Python 连接 Oracle 数据库时报错 64-bit Oracle Client library cannot be loaded: "F:\app\Administrator\product\11.1.0\db_1\BIN\oci.dll原因:Python3.5 版本 64 位 oracle1...转载 2019-04-26 14:01:58 · 3478 阅读 · 2 评论