Oracle相关
文章平均质量分 68
乘风晓栈
事从容则有余味,人从容则有余年。
展开
-
PLSQL导入.txt文件
1.准备txt文本数据,记录行是用回车分隔,列用逗号分隔注意:把txt文本里的数据最上面加上一行头,与你要插入的表的结构对应(试一下你会发现好处)2.打开PLSQL,选择Tools->Text Importer3.点击内窗口左上角(Open Data File)选择数据文本4.txt文本数据有表头的情况:在Data from Textfile视图里,在中间的Configuration视窗把Name in header单选框选中5.切换到Data to Oracle视图,选择你要插入的表注意原创 2020-05-28 13:44:42 · 6263 阅读 · 0 评论 -
MOD (ASCII (SUBSTR ('abcd', 1, 1)), 2)
一套连招:截取'abcd'的第一个元素转化为ASCII码取除以2的余数;select MOD (ASCII (SUBSTR ('abcd', 1, 1)), 2) from dual;单看这几个函数很简单。。。最近看到一个思路:linux定时,数据量巨大执行不完,在需要执行的数据库某个字段是uuid随机值,起两个定时, 一个定时:where条件MOD (ASCII (SUBSTR...原创 2019-12-27 19:05:52 · 927 阅读 · 0 评论 -
同义词 与 Record is locked by another user
问题一登录systemHR下的表:system用户下查询【select t.* from test1】弹窗:ORA-00942:表或视图不存在原因:没有创建同义词【查询同义词】SELECT * FROM SYS.ALL_SYNONYMS t WHERE t.owner in ('SYSTEM');SELECT * FROM SYS.ALL_SYNONYMS t WHERE t.s...原创 2019-11-17 18:08:07 · 168 阅读 · 0 评论 -
存储过程 --- 8 --- 循环
--建测试表DROP TABLE CXY_CCGC_TEST2_T;CREATE TABLE CXY_CCGC_TEST2_T( id VARCHAR2(32), content CLOB , like_time DATE DEFAULT SYSDATE );--插表数据declarebegin for i in 1..3 loop insert i...原创 2018-07-10 13:51:27 · 700 阅读 · 0 评论 -
存储过程 --- 7 --- 对CLOB进行操作,实现CLOB插表
--建测试表DROP TABLE CXY_CCGC_TEST2_T;CREATE TABLE CXY_CCGC_TEST2_T( id VARCHAR2(32), content CLOB , like_time DATE DEFAULT SYSDATE );select * from CXY_CCGC_TEST2_T;--delete from CXY_CCGC...原创 2018-07-09 17:47:37 · 3069 阅读 · 0 评论 -
存储过程 --- 6 --- 跳出循环
CREATE OR REPLACE PROCEDURE CXY_CCGC_TEST4_PAS x NUMBER;BEGIN --使用CONTINUE的时候,本次循环后面的代码部分不再执行,转而执行本循环的下一次循环。 --可能由于oracle的版本问题而导致一些关键字不可以使用;在oracle11g中增加CONTINUE关键字 ...原创 2018-07-09 16:45:54 · 1811 阅读 · 0 评论 -
存储过程 --- 5 --- 对异常的处理
CREATE OR REPLACE PROCEDURE CXY_CCGC_TEST3_PAS param1 NUMBER; param2 NUMBER; param3 NUMBER;BEGIN --循环执行 for i in 1...原创 2018-07-09 11:38:59 · 826 阅读 · 0 评论 -
存储过程 --- 9 --- 给用户数据库中发奖品
领导提供一个宝贝调查问卷答题的EXCEL约6万条,将这些问卷的旅客数据判断为有效用户且未发奖的表中发奖品(或其它操作);--答题记录表create table BB_BABYQUE_ANSWER_T( VIP_CARD VARCHAR2(32),--会员号 QUESTIONID VARCHAR2(8),--题库哪套题 OPTIONCONTENT VARCHAR...原创 2018-10-11 19:40:13 · 353 阅读 · 0 评论 -
Oracle行列转换
11g之后,oracle增加了pivot和unpivot语句,可以很方便的完成这个转换。没有安装,则没有测试在本文中写出,网上看到一篇很好的文章,地址:https://blog.csdn.net/fw0124/article/details/7943965后续测试验证后更新。。。--CTEATE TABLECREATE TABLE BB_LINE_COLUMN_T ( ...原创 2018-09-29 13:48:11 · 977 阅读 · 0 评论 -
PLSQLDeveloper登录Oralce
远程连接oracle,只用PLSQLDeveloper客户端,不配置tnsnames.ora文件在PL/SQL中填写:1.UserName:用户名,如hr2.Password:密码,如hr1233.DataBase:远程连接的IP地址:端口号/数据库实例,比如:172.22.97.102:1521/XE(数据库实例名是全局数据库名,有的开发叫数据库服务名)4.Connect...原创 2018-10-20 11:38:58 · 21192 阅读 · 0 评论 -
Oracle使用sqluldr2
分三部分:1 . sqluldr2简介与使用2 . sqlldr的使用,常见异常3 . 测试使用 1 . sqluldr2简介与使用sqluldr2是一款Oracle数据快速导出工具,包含32、64位程序,sqluldr2在大数据量导出方面速度超快,能导出亿级数据为excel文件,另外它的导入速度也是非常快速,功能是将数据以TXT/CSV等格式导出。 sqluldr2...原创 2018-11-01 15:55:01 · 42741 阅读 · 6 评论 -
DB_LINK:CREATE/DROP
dblink(Database Link)数据库链接顾名思义就是数据库的链接,就像电话线一样,是一个通道,当我们要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中就必须要创建远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。--查询DBLINK信息select owner,object_name from dba_...原创 2019-05-07 15:55:17 · 420 阅读 · 0 评论 -
MERGE操作表的更新和插入
情景:千万用户【公共消息表】入表一条消息即全员可见,【消息状态表】记录消息状态1.用户消息首次已读时入表消息状态已读2.用户消息删除消息时入表消息状态删除/修改已读为删除--1、建表CREATE TABLE TABLE_NAME( ID VARCHAR2(32), STATUS INTEGER);--2、修改或新增数据 --逻辑:已读STAT...原创 2019-05-22 21:26:47 · 1949 阅读 · 0 评论 -
oracle数据库分区
最近有一个分表的操作:1.消息中心5个月数据1亿条数据,【数据量巨大】;2.【消息中心表】+【消息中心跳转参数表】,消息中心有6个模块;3.消息中心表:以每个月时间围分区,用户的id索引;4.分页查询时关联【消息中心跳转参数表】,时间>用户注册时间;分表:1.按照消息中心类型模块分表;2.【消息中心表】增加是否跳转字段3.分页查询消息不关联【消息中心跳转参数表】,时间>...原创 2019-05-30 21:58:14 · 869 阅读 · 0 评论 -
手动修改oracle数据
运行过for update的语句后须Commit。For update那是一种行级锁,一旦用户对某个行施加了行级加锁,则该用户可以查询也可以更新被加锁的数据行,其它用户只能查询但不能更新被加锁的数据行.如果其它用户想更新该表中的数据行,则也必须对该表施加行级锁.即使多个用户对一个表均使用了共享更新,但也不允许两个事务同时对一个表进行更新,真正对表进行更新时,是以独占方式锁表,一直到提交或复原该原创 2018-02-01 17:57:49 · 10920 阅读 · 0 评论 -
Oracle生成不重复票号 LPAD() 、RPAD() 函数 与 NEXTVAL() 函数概述
SELECT TO_CHAR(SYSDATE,'YYMMDD')||LPAD(REFUNDSEQ.NEXTVAL,6,'0') AS RES_ORDER_NO FROM DUAL该语句拼接 时间 与 LPAD产生的 'REFUNDSEQ.NEXTVAL值的前6位有字符,如果不足6位,就用0补足' ,为防止出现重复票号增加时间 ,一天最多出现999999个有效票号DUAL : 是oracle的虚拟表,不是真实存在的,又称ORCLE伪表,方便输出结果集REFUNDSEQ : 这个是开发人员自己起的一个"序原创 2016-09-13 20:54:59 · 4964 阅读 · 0 评论 -
Oracle时间情景
情景1:查询时间大于本年的数据情景2:查询时间大于12个月的数据拓展:原创 2017-11-22 21:47:13 · 211 阅读 · 0 评论 -
使用SpringJDBC的正确开启方式
轻量级的应用程序框架Spring所提供的JDBC有许多积极的方面使之在J2SE和 J2EE应用程序开发中占有重要地位。我在工作中遇到Springjdbc使用的案例:输入的参数为: Map<String, Object> map = new HashMap<String, Object>(); map.put("msgId","msgId"); map.put("userId","userId");public int saveDeletedMessage(Map<String, Object>原创 2016-09-09 22:36:23 · 658 阅读 · 1 评论 -
ORA-01427:single-row subquery returns more than one row
今天开发的同事反馈一个问题,该程序已经使用一段时间,在查询昨天的数据时突然报出了错误: 图1 OR-01427:single-row subquery returns more than one row 异常为:单行子查询返回多行我得到了该查询页面对应的sql语句: SELECT ID,(SELECT NAME FROM TABL原创 2016-08-24 12:25:48 · 64489 阅读 · 0 评论 -
ORA-01830:日期格式图片在转换整个输入字符串之前结束
ORA-01830:日期格式图片在转换整个输入字符串之前结束原创 2017-01-10 23:59:04 · 3693 阅读 · 1 评论 -
ORA-12154: TNS: 无法解析指定的连接标识符
在安装了oracle客户端的电脑上安装oracle数据库服务,报ORA-12154: TNS: 无法解析指定的连接标识符原创 2017-03-30 08:46:59 · 724 阅读 · 0 评论 -
Oracle日期比较:2015/6/3 19:18:29 DATE类型 与 20161128095601 VARCHAR2(16)类型
情景:求新注册的用户id,表1中第一次登陆日期大于表2中领取奖品日期-30天的则为新用户。两个表中日期格式如下表1中第一次登陆日期格式 2015/6/3 19:18:29 DATE类型,表2中领取奖励日期格式 20161128095601 VARCHAR2(16)类型原创 2017-03-14 18:13:05 · 1601 阅读 · 0 评论 -
安装OracleXE
安装OracleXE原创 2017-03-31 22:28:27 · 3522 阅读 · 0 评论 -
存储过程 --- 1 --- 简介
过程:过程就是高级程序设计语言中的模块的概念,将一些内部联系的命令组成一个个过程,通过参数在过程之间传递数据是模块化设计思想的重要内容。原创 2017-04-20 20:02:04 · 521 阅读 · 0 评论 -
存储过程 --- 2 --- 结合代码案例
1.无参数存储过程:{call procedure_name} 2.仅有输入参数的存储过程:{call procedure_name(?,?...)} 这里?表示输入参数,创建存储过程时用in表示输入参数 3.仅有输出参数的存储过程:{call procedure_name(?,?...)} 这里?表示输出参数,创建存储过程时用out表示输出参数 4.既有输入参数又有输出参数的存储过程:{call procedure_name(?,?原创 2017-04-26 07:41:58 · 788 阅读 · 0 评论 -
存储过程 --- 3 --- 常见函数学习
sum rollup cube grouping rank原创 2017-04-27 22:00:28 · 512 阅读 · 0 评论 -
Oracle中查询条件 - 限定汉字的个数
* 在姓名表中查询:1 . 姓陈2 . 姓名是三个字的姓名3 . 性别为女4 . 在2000年后出生原创 2017-05-22 19:25:43 · 1936 阅读 · 0 评论 -
存储过程 --- 4 --- 分页存储初解
1.建表2.批量插入数据3.编写语句4。进行验证原创 2017-04-30 20:42:26 · 384 阅读 · 0 评论 -
FOR UPDATE
严禁在生产库使用 select * from table update 锁表操作原创 2017-06-29 18:15:49 · 395 阅读 · 0 评论 -
Oracle分页的rownum
如果想找到从第二行记录以后的记录,当使用rownum>2是查不出记录的,原因是由于rownum是一个总是从1开始的伪列,Oracle 认为rownum> n(n>1的自然数)这种条件依旧不成立,所以查不到记录。原创 2017-06-30 15:33:47 · 290 阅读 · 0 评论 -
SpringJDBC批量处理数据
namedParameterJdbcTemplate.batchUpdate(sql.toString(), paramMap);原创 2017-06-30 16:26:24 · 397 阅读 · 0 评论 -
oracle合并列的函数wm_concat
诉求:查询Oracle数据库N个表,将查询结果的一列转化为一条数据,需要函数WM_CONCAT:SELECT REPLACE(WM_CONCAT(E.CARD), ',', '|') FROM BB_USER_T E;原创 2017-09-29 17:15:49 · 1507 阅读 · 0 评论 -
oracle <>
场景:数据库中两个表 表1 表21 . 其中表2是表1的一个附属表;2 . 两个表中各有一个生成时间,表1中时间不变,表2中修改用户信息时会变;3 . 查询sysdate-表1中时间>30且sysdate-表2中时间>30的用户会员号;语句1:SELECT A.会员号 FROM (SELECT t.*FROM 表1 twhere SYSDATE - TO...原创 2017-10-30 19:16:44 · 1395 阅读 · 0 评论 -
Oracle常用函数 REPLACE() 、 LOWER() 、 UPPER() 篇
SELECT REPLACE(REPLACE(UPPER(LAST_NAME_CN||FIRST_NAME_CN), '/', ''), ' ', '') FROM TABLE 图 1 姓与名连接一起,去除'/'与' ' 一 、 REPLACE()函数 1 . 把 '姓' 字段中的 '小七' 都替换成 '七' ; UPDATE TABLE SET XING = REPLACE( XING, 'XIAOQI','QI') WHERE原创 2016-09-01 23:47:58 · 13826 阅读 · 0 评论