数据库
李白列夫斯泰
当你的才华还撑不起你的野心时,那你就应该静下心来学习。
展开
-
mysql的索引方法btree和hash的区别
1. Hash索引:Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。可能很多人又有疑问了,既然 Hash 索引的效率要比 B-Tree 高很多,为什么大家不都用 Hash 索引而还要使用 B-Tree 索引呢?任何事物都是有两面...转载 2019-10-28 12:05:04 · 106 阅读 · 0 评论 -
复制A表的若干字段的数据到B表
这是将表A的三个值查询出来,然后插入表B;需要注意的是,表A的三个值和表B的三个值是一一对应的,所以表B事先存在,并且字段和表A对应;insert into tableB(value1,value2,value3)select value4,value5,value6from tableA;例如insert into t_booknew_monthlyAssessment...转载 2018-10-29 16:31:32 · 1899 阅读 · 0 评论 -
数据泵导出远程服务器数据库到本地详解
一、数据库在服务器,在本地操作,导出数据库到本地1、cmd下登录数据库,创建本地用户sqlplus sys/1 as sysdba;//oracle创建用户,只需把所有的dzlnurse改成你要建的用户名字create user dzlnurse//下面的1是要创建数据库的密码 identified by "1" default tablespace USERS t...原创 2018-11-06 17:49:13 · 4049 阅读 · 0 评论 -
ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小 错误分析
1. 问题起因 最近在进行oracle的一些操作时,总会遇到这个错误: ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小,错误如下: ORA-00604: 递归 SQL 级别 1 出现错误 ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小 ORA-06512: 在 line 7...转载 2018-11-13 10:27:35 · 11039 阅读 · 0 评论 -
Oracle解锁,解决“ora00054:资源正忙”错误
1.获取被锁对象的session_idselect a.object_name,b.session_id,c.serial#,c.program,c.username,c.command,c.machine,c.lockwaitfrom all_objects a,v$locked_object b,v$session c where a.object_id=b.object_id and ...转载 2018-11-16 17:34:29 · 215 阅读 · 0 评论 -
oracle闪回,找回已提交修改的记录
例如删除ward_id为96这条并且提交后,记录已经没了。执行select * from T_HRM_WARD as of timestamp to_timestamp('2018-11-28 10:30:00','yyyy-mm-dd hh24:mi:ss') where ward_id='96'其中查询的时间是修改之前的,这个闪回时间是需要设置的,我们公司数据库设置的...原创 2018-11-28 10:41:02 · 255 阅读 · 0 评论 -
oracle数据库乱码解决,字符集编码问题
一、问题描述: 在将其它数据库的数据导出文件导入本地新建数据库时,所导入的数据全部是乱码,一般表现为数据表中列的值类似于"?????",即内容大部分为?的表现形式。初步判断是因为Oracle客户端与数据库编码不一致所导致。乱码问题在各类技术很多地方都普遍可能存在,其根本原因主要是数据编码不一致导致。根据其原理排查数据编码,基本都可以解决乱码问题。 第一步:就Oracl...转载 2018-11-28 11:17:32 · 696 阅读 · 0 评论 -
oracle视图传参
1、对要传的参数写set、get方法create or replace package vm_param is function set_userid(user_ids varchar2) return varchar2; function get_userid return varchar2; function set_SHIFT_NAME(SHIFT_NAMES ...原创 2018-12-28 16:36:07 · 5291 阅读 · 0 评论 -
oracle数据库修改客户端和服务器端字符集
1、查询客户端字符集SELECT * FROM V$NLS_PARAMETERS;例如2、查看服务器端字符集SELECT * FROM NLS_DATABASE_PARAMETERS;例一个是美国一个是中国。修改客户端字符集与服务器端一致3、鼠标右键计算机-属性-高级系统设置-高级-环境变量-系统变量添加nls_lang American_Americ...转载 2019-01-17 16:27:02 · 5572 阅读 · 1 评论 -
oracle自定义函数 for in loop示例
1、新建type,就是返回结果集有什么,这里就写什么(相当于表的字段)CREATE OR REPLACE TYPE "TYPE_NQ_FORM_STATISTICS" as object( recordid varchar2(500), form_name varchar2(200), sortone varchar2(100), sorttwo varchar2(10...原创 2019-01-31 15:52:20 · 27582 阅读 · 5 评论 -
Oracle中错误代码ORA-02292 违反了完整性约束条件解决
这种原因是主键与其他表关联了,解决方法如下:1、禁用约束alter table T_HRM_USER_INFO disable constraint PK_T_HRM_USER_INFO CASCADEPK_T_HRM_USER_INFO 这个去表中找,plqsl右键表选择view-->key,这里注意Name是约束名,Columns是表的字段名。一定要注意con...转载 2019-02-26 10:05:14 · 7948 阅读 · 1 评论 -
Oracle导入dmp文件报错IMP-00010: 不是有效的导出文件, 头部验证失败
使用imp命令导入oracle数据库dmp文件报错IMP-00010: 不是有效的导出文件, 头部验证失败是因为是11g的数据库导出的dmp文件想要导入到10g的数据库里面只需要把dmp文件打开头部的版本修改就好了 这是由于导出的dmp文件与导入的数据库的版本不同造成的用Notepad++查看了dmp文件,在头部具修改成你将导入目标数据库的版本号以下对应的版本号: 11g R2...转载 2018-09-10 09:37:22 · 684 阅读 · 0 评论 -
oracle数据库存特殊字符乱码㉫,不能保存unicode,以及oracle数据库把一张表的字段复制到另一个字段
unicode字符,要用NVARCHAR2类型。数据库存特殊字符乱码,我的是吧字段类型varchar2(20) 换成nvarchar(20)就好使了。 数据库把一张表的字段复制到另一个字段本来以为很难。。。其实sql就是update tablename set 字段1=字段2;字段1是有值的,字段2是无值的。oracle小结一下:alter table t...原创 2018-08-23 16:09:54 · 1512 阅读 · 0 评论 -
oracle一条语句查询两张表,三张表
select * from (select a.a1,b.b1 from a ,b )子查询select * from (select a.a1,b.b1 from a ,b where a.id=b.id)链接查询原创 2018-07-11 11:18:27 · 7943 阅读 · 0 评论 -
查询表中字段值的个数
例如字段dd中存储了许多值 1,2,3,4则查询结果为4条假设表名为 ss , 要统计的字段为 ddselect dd,count(*) 条数 from ss group by dd转载 2018-07-11 12:21:14 · 1241 阅读 · 0 评论 -
win64bit安装oracle 10g版本检查未通过解决 提示要求的结果: 5.0,5.1,5.2,6.0 之一 实际结果: 6.1
在WIN7上安装oracle 10g时,提示如下信息:正在检查操作系统要求... 要求的结果: 5.0,5.1,5.2,6.0 之一 实际结果: 6.1 检查完成。此次检查的总体结果为: 失败 <<<< 问题: Oracle Database 10g 未在当前操作系统中经过认证。 建议案: 确保在正确的平台上安装软件。解决方法:找到 refhost.x...转载 2018-07-23 14:42:31 · 1944 阅读 · 0 评论 -
Oracle中字符串连接的实现方法
1.和其他数据库系统类似,Oracle字符串连接使用“||”进行字符串拼接,其使用方式和MSSQLServer中的加号“+”一样。例如:SELECT '工号为'||FNumber||'的员工姓名为'||FName FROM T_Employee WHERE FName IS NOT NULL 2.除了“||”,Oracle还支持使用CONCAT()函数进行字符串拼接,比如执行下面的SQL语句:S...转载 2018-07-12 13:04:04 · 188 阅读 · 0 评论 -
oracle 10g imp导入错误12154
如果是本机的话,把@orcl去掉;如果不是,运行netca,添加连接标示符。或者使用@ip:端口号:servicename的方式代替@orcl转载 2018-07-24 11:43:23 · 608 阅读 · 0 评论 -
wm_concat列合并
原语句:select patient_name from T_NMS_FALLBED使用后:select wm_concat(patient_name) from T_NMS_FALLBED仅供学习记录,请大神勿喷,如有错误,请多多指教!原创 2018-07-16 09:28:11 · 224 阅读 · 0 评论 -
深入浅出数据库索引原理
使用索引很简单,只要能写创建表的语句,就肯定能写创建索引的语句,要知道这个世界上是不存在不会创建表的服务器端程序员的。然而, 会使用索引是一回事, 而深入理解索引原理又能恰到好处使用索引又是另一回事,这完全是两个天差地别的境界(我自己也还没有达到这层境界)。很大一部份程序员对索引的了解仅限于到“加索引能使查询变快”这个概念为止。 为什么要给表加上主键? 为什么加索引后会使查询变快?...转载 2018-08-14 17:27:34 · 76 阅读 · 0 评论 -
ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程”的异常
一般ORA-12516有两个原因,一个是session数不够再有一个就是客户端和服务端建立连接的时候不稳定所引起的,我现在的服务端是oracle10g r2,而客户端是oracle11i,结果当连接数大的时候,就会报ora-12516的错误 解决方法:1.针对第一个原因就是修改连接数的限制 a、以sysdba身份登陆PL/SQL 或者 Worksheet b、查询目前连...转载 2018-08-07 14:00:58 · 594 阅读 · 0 评论 -
oracle下lag和lead分析函数
Lag和Lead分析函数可以在同一次查询中取出同一字段的前N行的数据(Lag)和后N行的数据(Lead)作为独立的列。这种操作可以代替表的自联接,并且LAG和LEAD有更高的效率。语法: /*语法*/ lag(exp_str,offset,defval) over() Lead(exp_str,offset,defval) over() --e...转载 2018-08-07 14:03:41 · 694 阅读 · 0 评论 -
oracle数据库配置主键自增+触发器
第一步设置主键自增:可以用plsql工具,,右键新建,Owner--属于哪个数据库 Start with ---从哪个id开始(例如你想id自增从1000开始,这就写1000)Name---为自增的一个名字(一般为seq_加名字) increment by----每次自增长多少(就是每次id增加多少)Min value--id的最小值 ...原创 2018-08-13 12:18:09 · 388 阅读 · 0 评论 -
oracle PL/SQL输出语句 dbms_output.put_line
java中可以输出,oracle中也可以,在PL/SQL中可以用 dbms_output.put_line输出。也可以拼接字符串输出。begin dbms_output.put_line(sqlStr);end;//输出语句,可以在PL/SQL查询窗口的输出中看到输出的内容。begin dbms_output.put_line('-----' || sqlStr);end;//也可以拼接字符串,可...原创 2018-07-16 15:09:25 · 36140 阅读 · 0 评论