Excel导入到ORACLE中。
首相将excel转换为TXT文档格式的。数据控制文件load datainfile 'E:text.txt'append into table ecfields terminated by whitespace(group_code,group_name,lev,num,username,userstatu,op_time,now_statu)然后运行SQL*LOADERsqlldr userid=scott/tiger control=e:control.ctl log=resulthis.out[@more@]
PLSQL的LIST
create or replace procedure PRO_ALARM_SQLEXECUTE(dateIn in date, daychr in varchar2, rebound out varchar2) is TYPE t_list_type IS TABLE OF varchar2(10000) INDEX BY BINARY_INTEGER; TYPE t_listInt IS TABLE OF integer INDEX BY BINARY_INTEGER; t_list t_list_type; t_code t_listInt; i integer := 0; r integer := 0; v_replace_sql varchar(10000);begin select t.sq
Oracle数据库补丁知识总结
给软件打补丁相当于给人打预防针,对系统的稳定运行至关重要。本文详细、系统地介绍了Oracle数据库补丁的分类、安装、管理等问题。 厂商提供给用户的软件补丁的形式多为编译后的库函数,所以安装软件补丁实际上就是把这些库函数拷贝到相应目录,并在需要时进行联接操作。软件公司一 般在一段时间后会把针对某一版本的所有补丁进行整理:合并融合,解决冲突,进行整体测试,并使文件拷贝和联接操作自动执行,得到一个软件补丁“包 ”。不同的公司使用不同的名称,现在一般计算机用户都熟悉的Windows Service Pack就是这样的补丁包。Oracle公
oracle listener 的密码
oracle 的监听机制 是外部应用程序连接oracle的入口。用oracle提供的lsnrctl 程序进行管理。一般很多人在管理oracle的时候,往往忽略对listener 的安全管理:监听在端口1521(默认端口)上的oracle tnslsnr未设置口令保护!这会存在这个安全隐患:远程的Oracle tnslsnr服务器没有被设置密码,一个攻击者可以利用这个问题随意关闭oracle tnslsnr服务器或者设置新的口令,这将影响合法用户的正常使用。攻击者也可以获取数据库的一些细节信息以发动进一步攻击。结合其他漏洞,攻击者甚至可以在目标系统上创建或者修改文件,进而入侵系统。这里
oracle opatch 工具的使用(oracle小补丁安装)
从9.2版开始,Oracle公司设计实现了个别补丁安装管理工具opatch.opatch使用一个称为inventory的系统数据结构(严格说是与oui共享inventory),集中管理所有已安装的个别补丁;个别补丁的安装和卸载都使用opatch命令完成,冲突检测也由opatch在安装时自动完成;提供列表命令可以很方便得到已安装个别补丁的信息。 10g(10.1和10.2)版本中,opatch作为一个标准工具,在软件安装时自动安装。(安装在$ORACLE_HOME/OPatch下。)而对于9.2版,需要从metalink下载opatch.无论数据库是哪一个版本,系统中是否已经安装opatch,在使用之前,应从
Oracle递归查询
Start with...Connect By子句递归查询一般用于一个表维护树形结构的应用。创建示例表:CREATE TABLE TBL_TEST(ID NUMBER,NAME VARCHAR2(100 BYTE),PID NUMBER DEFAULT 0);插入测试数据:INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('1','10','0');INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('2','11','1');INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('3','20','0');INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('4','12','1');INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('5','121','2');从Root往树末梢递归select * from TBL_TESTstart with
Oracle递归查询 start with connnect by prior
今天发现在oracle中的select语句可以用START WITH...CONNECT BY PRIOR子句实现递归查询,connect by 是结构化查询中用到的,其基本语法是:select ... from tablename start with cond1 connect by prior cond2 where cond3;简单说来是将一个树状结构存储在一张表里,比如一个表中存在两个字段: id,parentid那么通过表示每一条记录的parent是谁,就可以形成一个树状结构。用上述语法的查询可以取得这棵树的所有记录。其中COND1是根结点的限定语句,当然可以放宽限定条件,以取得多个根结点,实际就是多棵树。COND2是连接条件,其中用PRIOR
ORA-01476的异常
主要就是在ORACLE中进行除的时候出现了除数为0.所以应该做的就是。避免出现这样的情况。就使用函数。decode(t.person_no,0,null,a.count_uid /t.person_no ) 可以避免select round (decode(t.person_no,0,null,a.count_uid /t.person_no ),2), t.unit_idfrom (select count(tg.unit_id) count_uid, tg.unit_idfrom t_group_info tg, t_alarm_allmember tawhere tg.unit_id = ta.unit_codeand tg.be_policy_type = 'AB'group by tg.unit_id) a,t_group_info twhere t.be_policy_type = 'AB'and a.unit_id= t.unit_id[@more@]
一篇工作上的BUG总结
一:bulk collect into :into子句用于单行操作,如果你的结果集是多行的,必须使用bulk collect into这个子句,另外,into子句是针对单条记录的操作,而Bulk collect into是针对集合的操作。二:PRAGMA AUTONOMOUS_TRANSACTION,自动开启事务,主要是在trigger中调用了procedure开始了一个自动事务。create or replace procedure pro_cr_channel_update_form(curdate in date,rebound out varchar2) isv_rownum number;v_sql varchar2(32767);v_sql2 varchar2(32767);PRAGMA AUTONOMOUS_TRANSACTION;beginend;[@more@]