![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Oracle
辛加涛
这个作者很懒,什么都没留下…
展开
-
Oracle 大数据导出 sqluler2
1.下载sqluldr264.exe2.CMD 执行 sqluldr264 用户名/密码@IP:1523/SERVICE_NAME query="select * from user.tablename" head=yes file=d:\xx.csv原创 2018-10-12 15:33:08 · 508 阅读 · 0 评论 -
Oracle case,if
DECLARE V_CASE VARCHAR2(100) := 'CASE'; V_IF VARCHAR2(100) := 'IF'; V_PRINT_CASE VARCHAR2(100); V_PRINT_IF VARCHAR2(100); V_OTHER VARCHAR2(50) := 'OTHER'; B...原创 2014-11-19 15:19:19 · 94 阅读 · 0 评论 -
Oracle package
create or replace package body PKG_TEST_XJT is FUNCTION FUN_TEST_XJT RETURN VARCHAR IS DS VARCHAR2(200) := 'HELLO WORLD'; BEGIN RETURN DS; END; PROCEDURE STP_TEST_XJT AS ...原创 2014-10-16 17:49:17 · 217 阅读 · 0 评论 -
Oracle执行计划详解
Oracle执行计划详解---作者:TTT BLOG本文地址:http://blog.chinaunix.net/u3/107265/showart_2192657.html---简介: 本文全面详细介绍oracle执行计划的相关的概念,访问数据的存取方法,表之间的连接等内容。 并有总结和概述,便于理解与记忆!+++目录---...原创 2014-10-16 11:04:23 · 129 阅读 · 0 评论 -
oracle PL/SQL 自定义异常,数组
DECLARE TYPE V_ARR IS VARRAY(10) OF VARCHAR2(30); exception_val EXCEPTION; --M_ARR V_ARR; M_ARR V_ARR := V_ARR('1', '2', '3', '4'); ErrorCode VARCHAR2(100); --返回值,错误编码BEGIN ...原创 2014-10-15 14:09:21 · 106 阅读 · 0 评论 -
集中库URL 串
<value>jdbc:oracle:thin:@${url}</value> url=(description=(address_list= (address=(host=172.19.1.100) (protocol=tcp)(port=1521))(address=(host= 172.19.1.101 )(protocol=tcp) (port=1521...原创 2015-07-15 14:55:35 · 74 阅读 · 0 评论 -
Oracle MERGE 用法
CREATE OR REPLACE PROCEDURE P_C(X OUT VARCHAR2,Y OUT VARCHAR2, S IN VARCHAR2) AS P_STR VARCHAR2(100) := 'ABCDEF'; STR VARCHAR2(50); STR_SQL VARCHAR2(100); P_EMAIL_NAME VARCHAR2(50);...原创 2015-06-17 17:56:57 · 88 阅读 · 0 评论 -
PL/SQL在线美化器工具
http://www.dpriver.com/pp/sqlformat.htm?ref=wangz.sqlformat.htm原创 2015-06-17 10:41:08 · 950 阅读 · 0 评论 -
PL/SQL产生随机数
--产成随机数--带小数--SELECT DBMS_RANDOM.VALUE(10000000000000000000,99999999999999999999) FROM DUAL;--不带小数--SELECT CAST(DBMS_RANDOM.VALUE(100,999) AS INT) FROM DUAL;SELECT TO_CHAR(DBMS_RAND...原创 2015-06-12 15:00:27 · 1242 阅读 · 0 评论 -
Oracle 学习整理(一)
--存储过程练习 01CREATE OR REPLACE PROCEDURE TEST_XJT(X OUT VARCHAR2, Y OUT VARCHAR2, Z OUT VARCHAR2, ...原创 2015-05-29 09:23:15 · 107 阅读 · 0 评论 -
不安装oracle客户端,用plsql连接oracle
不安装oracle客户端,用plsql连接oracle 常用的Oracle开发的工具有SQL Developer和PL/SQL Developer,个人感觉前者虽然跨平台性优于后者,但比较大(大于300M)占用资源,而且用户体验也一般,而后者相对就小很多(小于30M),用起来也比较顺手。 用PL/SQL连接oracle数据库,不管是本地的还是远程的,一般都需要安装orac...原创 2017-05-12 10:37:57 · 85 阅读 · 0 评论 -
SQL正则表达示
SELECT * FROM TT_NO T WHERE NOT REGEXP_LIKE(T.NO, '^[0-9]+'); --查找T.NO字段不是数字的数据, '^[0-9]+'匹配一行数字原创 2014-11-29 10:52:28 · 97 阅读 · 0 评论 -
Oracle 查询重复数据,删除重复数据多字段
select a.F_AIRPROT, a.F_THREECODE, a.F_CAPACITY, a.F_AIRPORT_LEVEL from T_AIRPORT_LEVEL a where (a.F_AIRPROT, a.F_THREECODE/* , a.F_CAPACITY, a.F_AIRPORT_LEVEL*/) in (select L.F_AIRPROT ...原创 2018-05-17 14:48:15 · 577 阅读 · 0 评论 -
Oracle 恢复删除的表
select * from recyclebin flashback table T_BAS_AGENT_INFO to before drop先查询,在恢复指定的表一:表的恢复 对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的。一般步骤有:1、从flash back里查询被删除的表 select * from r...原创 2018-02-01 10:25:26 · 76 阅读 · 0 评论 -
PL/SQL 获取数组的长度
V_ARR.count 获取长度V_ARR(1).F_NAME 输出原创 2018-01-18 14:33:46 · 2908 阅读 · 0 评论 -
PL/SQL 命令窗口中开启输出
set serveroutput on原创 2018-01-18 10:52:48 · 1223 阅读 · 0 评论 -
Oracle 授予视图,DBA 权限
--授予视图权限GRANT ON COMMIT REFRESH to zht;GRANT GLOBAL QUERY REWRITE TO zht; --授予DBA权限grant dba to zht;grant connect,resource to zht;原创 2017-12-11 16:37:42 · 617 阅读 · 0 评论 -
sqlldr 中使用sequence
昨日碰到的又一将其他数据库中数据导入ORACLE数据库中的例子,其中用到了SEQUENCE来实现一个主键的自动导入,源数据在SQL SERVER中,因为开发人员已经将其导出成EXCEL文件了,所以放弃了使用HS,使用SQL LOADER干这个活,问题出在一个列的解决上,要求是在原来数据的基础(有主键)上增加一个新的主键,作导入目标表的主键,初始尝试直接建立一个SEQUENCE来解决这个问题,...原创 2017-10-10 16:44:20 · 1026 阅读 · 0 评论 -
ORACLE sqlldr 大数据量 导入
由于项目需要,需要向数据库中导入6000万条数据。现有的资源是txt文本(数据用“,”分开的)。 方案一:转换成insert语句,但是执行效率太低,放弃。 方案二:使用plsql工具(tool-text import),这种效率大概是50万条每小时。由于时间紧急所以也不行。 方案三:使用sqlldr,这种效率还凑合,大概350万每小时。下面着重介绍下。 ...原创 2017-10-09 16:53:20 · 1328 阅读 · 0 评论 -
tnsnames.ora
test = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.28.10)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL)...原创 2017-08-16 09:34:42 · 74 阅读 · 0 评论 -
ORACLE获取某个时间段之间的月份,日列表
--获取某个时间段的日期列表(示例返回2013-01-01到2014-01-01之间的日期列表) SELECT TO_CHAR(TO_DATE('2013-01-01', 'YYYY-MM-DD') + ROWNUM - 1, 'YYYY-MM-DD') CREATED_TM FROM DUALCONNECT BY ROWNUM <= ...原创 2014-12-03 15:50:24 · 184 阅读 · 0 评论 -
Oracle 常用的分析开窗函数
SELECT T.EMAIL_USER_NAME, COUNT(*) OVER(PARTITION BY T.EMAIL_MAIL ORDER BY T.EMAIL_TEL DESC) C FROM T_BASE_EMAIL T; SELECT T.EMAIL_USER_NAME, RANK() OVER(PARTITION BY T.EMAI...原创 2015-05-14 17:45:59 · 230 阅读 · 0 评论 -
Oracle Function
CREATE OR REPLACE FUNCTION FUN_NO_XJT(P_HEAD VARCHAR2, P_DATE DATE, P_NUM VARCHAR2) RETURN VARCHAR2 IS L_GET_NO VA...原创 2015-05-06 09:09:20 · 67 阅读 · 0 评论 -
Oracle 查看 表空间大小,最大连接,字符集类型。
--查看表空间大小SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size --类型MFROM dba_tablespaces t, dba_data_files d WHERE t.tablespace_name = d.tablespace_name GROUP BY t.tables...原创 2015-05-04 10:52:42 · 294 阅读 · 0 评论 -
Oracle 异常 ORA-01422
ORA-01422 exact fetch returns more than requested number of rows异常SELECT T.A1 INTO P_STR FROM TEST T;--当T.A1查询多条记录时INTO到P_STR会报ORA-01422异常原创 2015-01-31 21:58:49 · 888 阅读 · 0 评论 -
Oracle Type
DECLARE TYPE CURRENT_INV_TYPE IS RECORD( CURRENT_ID TEST2.C1%TYPE, CURRENT_NAME TEST2.C2%TYPE, CURRENT_DATE TEST3.BIRTHDAY%TYPE); CURRENT_RECORD CURRENT_INV_TYPE; ...原创 2015-01-31 21:55:48 · 84 阅读 · 0 评论 -
Oracle ADD_MONTHS Test(01)
DECLARE M_DATE1 DATE; M_VARCHAR2 VARCHAR2(30) := '5'; M_INTO1 VARCHAR2(50); M_INTO2 VARCHAR2(50); M_INTO3 VARCHAR2(50); M_INTO4 VARCHAR2(50); M_INTO5 VARCHAR2(50); --...原创 2015-01-28 22:47:38 · 79 阅读 · 0 评论 -
Oracle MERGE INTO
DECLARE STR VARCHAR2(50); P_NO NUMBER(10);BEGIN MERGE INTO TEST2 T2 USING (SELECT T3.NAME, T3.DEPT, T3.BIRTHDAY FROM TEST3 T3 WHERE T3.BIRTHDAY = DATE '2014-05-0...原创 2015-01-28 22:45:13 · 80 阅读 · 0 评论 -
Oracle 更新一百万条数据
DECLARE INDE NUMBER := 0;BEGIN FOR R IN (SELECT /*+ INDEX(T IDX_INV_03)*/ T.ROWID ROID FROM TT_INV_DATE T, TT_INT_CONFIG T1 WHERE T.PT_CODE = T1.IN...原创 2015-01-25 14:04:33 · 1096 阅读 · 0 评论 -
Oracle 数组
DECLARE TYPE type_array IS VARRAY(6) OF VARCHAR2(10); var_dept type_array := type_array('0W', 'QAS', 'BFL', ...原创 2015-01-25 13:56:58 · 101 阅读 · 0 评论 -
Oracle DB_LINK 使用
--select xxx FROM 表名@数据库链接名SELECT B.* FROM TT_DB_RECORD@LINK_TEST_DB B --LINK_TEST_DB 为DB_LINK名 ,TT_DB_RECORD另一个数据库的表名原创 2015-01-13 17:07:59 · 83 阅读 · 0 评论 -
oracle 对字符串型数字 比较
--oracle 对字符串型数字 比较时 要将字符串的长度保持两端相等SELECT 1 FROM DUAL WHERE '0103' > '4'; --结果0103 不大于 4 SELECT 1 FROM DUAL WHERE '0103' > '0004'; --结果0103 大于 4 ...原创 2014-12-31 15:30:17 · 1697 阅读 · 0 评论 -
Oracle 分组查询取第一条记录 ROW_NUMBER() OVER
SELECT * FROM (SELECT T.*, ROW_NUMBER() OVER(PARTITION BY T.AREA_CODE ORDER BY ROWNUM) CN FROM TT_AREA T) WHERE CN = 1;原创 2014-12-29 14:59:12 · 701 阅读 · 0 评论 -
Oracle 时间相加
SELECT SYSDATE-1 FROM DUAL; --减一天 SELECT TO_DATE('2014-06-10 12:05:22','YYYY-MM-DD HH24:MI:SS')-NUMTODSINTERVAL(1,'HOUR') FROM DUAL;--减一小时 SELECT TO_DATE('2014-06-10 12:05:22','YYYY-MM-DD HH24...原创 2015-02-08 23:26:31 · 145 阅读 · 0 评论 -
Oracle 左右关联
SELECT * FROM TEST2 T1,TEST3 T2 WHERE T1.C2 = T2.NAME(+); --T1三列,T2为三列,以T1表为基础表,结果显示六列,T1表全显示, T2表显示T1.C2 = T2.NAME(+)相关联的数据。 SELECT * FROM TEST2 T1,TEST3 T2 WHERE T1.C2(+) = T2.NAME; --T1...原创 2015-02-08 23:31:00 · 445 阅读 · 0 评论 -
转载:ORACLE触发器详解
转载:http://blog.csdn.net/indexman/article/details/8023740/ 本篇主要内容如下:8.1 触发器类型8.1.1 DML触发器8.1.2 替代触发器8.1.3 系统触发器8.2 创建触发器8.2.1 触发器触发次序8.2.2 创建DML触发器8.2.3 创建替代(INSTEAD OF)触发器8.2.3 ...原创 2015-04-29 09:11:17 · 66 阅读 · 0 评论 -
Oracle 触发器学习(将数据插到另一个表中)
CREATE OR REPLACE TRIGGER TRG_XJ AFTER INSERT OR UPDATE ON T_EMAIL FOR EACH ROWDECLARE SQESTR VARCHAR2(50);BEGIN INSERT INTO T_TEST_XJT T (T.ID, T.NAME, T.REMARK, T.CREATE_...原创 2015-04-28 14:06:04 · 294 阅读 · 0 评论 -
Oracle 查看用户所有权限
--查看用户所有权限 select * from session_privs t --查看执行触发器权限 select * from session_privs t WHERE t.privilege LIKE '%TRIGGER%'; --查看执行触发器权限 select owner, object_name, object_type, status from d...原创 2015-04-28 14:04:19 · 147 阅读 · 0 评论 -
Oracle 序列
/*oracle是通过序列(sequence)来处理自动增长列用法:create sequense my_seq //创建序列名:my_seqstart with 1 //从1开始increment by 1 //每次增长1maxvalue 999999 //nomaxvalue(不设置最大值) ---最大值minvalue 1 //最小值cyc...原创 2015-04-28 10:57:38 · 73 阅读 · 0 评论 -
Oracle Exists
FOR R IN (SELECT T.USER_NAME FROM T_USER T WHERE EXISTS (SELECT 1 FROM T_USER_ROLE TR WHERE T.USER_ID = TR.USER_ID)) LOO...原创 2015-04-27 17:05:52 · 66 阅读 · 0 评论