![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
oracle
文章平均质量分 51
woshixushigang
这个作者很懒,什么都没留下…
展开
-
建表的时候设置级联删除
如果想删除主表的时候同时删除字表数据,可以在建立外键时设置on delete cascade; 但是需要注意的是,这样是比较危险的,尽量在业务中用程序控制删除。 --create table a and b --主表 Create Table department (dept_id number (4) Not Null Primary Key, name varchar...原创 2010-12-24 17:56:25 · 569 阅读 · 0 评论 -
NULL和" "
public static void main(String args[]) throws Exception { String str = null; // if(" ".equals(str)){ if(str instanceof String){ System.out.println("true"); }else{ System...原创 2010-11-19 09:53:28 · 68 阅读 · 0 评论 -
连接Oracle 10g时ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的 SERVICE_NAME 错误的解决 ...
解决方法:1. 打开<OracleHome>/network/admin/listener.ora文件,找到: SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = D:\oracle\product\10.2.0\db_1) ...原创 2010-11-30 21:11:50 · 110 阅读 · 0 评论 -
用MyEclipse连接Oracle出现的错误:ORA-00604和ORA-12705
用MyEclipse连接Oracle出现的错误:ORA-00604和ORA-12705 Error while trying to login to database:ORA-00604: error occurred at recursive SQL level 1ORA-12705: Cannot access NLS d...原创 2010-12-08 09:04:09 · 128 阅读 · 0 评论 -
java.sql.SQLException: 类型长度大于最大值 原因
可能是驱动问题,换成ojdbc16.jar。 或者是检查下你的网络问题,你是不是长时间远程数据库的那台机器了?远程连接时候出现数据库加密错误。。。。 ...原创 2011-07-19 14:04:28 · 649 阅读 · 0 评论 -
往表插入其他表数据
insert into future.news(a,b,c)select abcform原创 2011-07-19 15:48:22 · 85 阅读 · 0 评论 -
java.sql.SQLException: 无法转换为内部表示
项目中因某种需求,在程序中操作数据的SQL加行级锁,避免出现插入重复的数据。但运行几天后报错,因此根据日志分析问题产生的原因。 问题描述:【Caused by: java.sql.SQLException: ORA-00054: resource busy and acquire with NOWAIT specified】 原因如下: 出现这个问题的原因是正在执行的操作请求的资源...原创 2011-07-20 10:19:39 · 198 阅读 · 0 评论 -
oracle级联查询当前地区的子地区
select id from AREA connect by prior id = supid start with id = 1 如果我不想要当前的id = 1的呢? select id from AREA where id!=1 connect by prior id = supid start with id = 1原创 2011-07-20 11:11:52 · 255 阅读 · 0 评论 -
connect by prior start with
connect by prior start with 实现递归查询。 如图是地区表部分字段,该表是按照当前节点父节点存储的。 我要查询222的所有上级地区(包括本级地区) select * from area connect by prior supid = id start with id = 222 如果我要是想按照地区级别为1...2011-07-21 16:46:00 · 74 阅读 · 0 评论 -
SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT IN...原创 2011-03-15 08:54:24 · 82 阅读 · 0 评论 -
很纠结的导数据问题ora-12524地址被占用
今天从sqlserver2005数据库导入到oracle 10g数据库中,开始报 jvm堆内存不够,修改最大内存后还是报错。 报的是网络连接中断,每次只能导4000多条数据,20多2万的数据得手动执行多少次才行啊?手动执行也就罢了,可气的是 每次执行中断后还得等一会才能继续导数据,纠结了一个多小时后偶尔发现oracle报错为 ora-12542: tns地址被占用,有个正 ...原创 2011-03-16 13:58:44 · 821 阅读 · 0 评论 -
sequence和trigger引发的低级错误
本人做国家林业局政法司项目时候遇到了一个低级的错误:新增执法人员时候怎么都是错的,检查程序没错,页面没 错。。。。 后来看下数据库才恍然大屋,既然有sequence和trigger了你必须定好sequence的值要不然会报违反唯一约束条件 的。你也不能查询数据库的总数据量,因为数据的最后一条不一定是总数据的数据。假如我table里总数据为224728条,...2011-07-22 16:55:44 · 112 阅读 · 0 评论 -
Oracle字符集
一、什么是Oracle字符集 Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系。ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据。它使数据库工具,错误消息,排序次序,日期,时间,货币,数字,和日历自动适应本地化语言和平台。 影响Oracle数据库字符集最重要的参数是NLS_LANG参数。它的格式如下: NL...原创 2011-07-22 22:06:55 · 64 阅读 · 0 评论 -
数据库substr和instr
select substr(deptname,1,instr(deptname,'a')-1) from table 从表中查询deptname字段中有a字符前面的所有字符。如你好a执行: select substr(deptname,1,instr(deptname,'a')-1) from table结果:你好 select instr('国家林','...原创 2011-03-22 19:03:07 · 204 阅读 · 0 评论 -
oracle spool命令导出slq语句
我在项目中遇到导数据的工作蛮多的,有时候需要把数据备份成sql形式,spool这个命令很好,介绍如下: spool c:\table.sql; select 'insert into changetable values('|| id||',',changedate||',',areaid||',',workunit||',',dept||',',post||',',addre...原创 2011-03-28 09:19:18 · 321 阅读 · 0 评论 -
oracle 10g 数据库误删闪回
alter table dictype enable row movement; flashback table dictype to timestamp to_timestamp('2011-03-31 16:10:10.1','yyyy-mm-dd hh24:mi:ss.ff'); select * from dictype for update; ...原创 2011-03-31 16:27:47 · 52 阅读 · 0 评论 -
创建存储过程
--创建存储过程CREATE OR REPLACE PROCEDURE woshixushigang( --参数IN表示输入参数, --OUT表示输入参数,类型可以使用任意Oracle中的合法类型。 is_ym IN CHAR)AS--定义变量vs_msg VARCHAR2(4000); --错误信息变量vs_ym_beg ...原创 2011-08-10 22:29:29 · 80 阅读 · 0 评论 -
ORA-12545因目标主机或对象不存在的解决方法
ORA-12545:因目标主机或对象不存在原因:机器名称改过后出现的 参考的解决办法 1.搜索你的oracle安装目录,找到这俩个文件 tnsnames.ora 和 listener.ora 记住就改这俩个文件就行了,还有一个大写的TNSNAMES.ORA不用管它。他们的路径如下:如 E:\\oracle\\ora92\\network\\admin 这是我的路径 你的肯定...原创 2010-11-14 15:34:05 · 208 阅读 · 0 评论 -
excel 导入oracle
excel 导入oracle 的各种方法 1 、与 db2 导入方法相同 2 、使用 sqlldr 装载数据: 1 )、先把 excel 另存为 .csv 格式文件,以逗号数据字段分隔的文本文件,如 table.csv 2 )、编写一个 insert.ctl ,用 sqlldr 进行导入 ! insert.ctl 内容如下: load data ...原创 2010-11-14 11:05:38 · 60 阅读 · 0 评论 -
String[] args = new String[]{sql.toString()}
本题中 StringBuffer sql = new StringBuffer();其中sql.toString结果为: '测试用户1','男'String[] args = new String[]{sql.toString()}args.length结果为1显然不是我们需要的。注意:new String[]{"","",""}:这种形式的才正确。 ...原创 2011-06-29 16:12:12 · 546 阅读 · 0 评论 -
根据 出生日期 计算 年龄 sql
关键字: sql oracleselect 出生日期, to_char(sysdate,'YYYY') - to_char(出生日期,'YYYY') as 年龄 from tablems sqlselect datediff(year,出生日期,getdate()) as '年龄' from table...原创 2010-12-29 14:26:16 · 351 阅读 · 0 评论 -
出生日期计算年龄比较年龄大小
public List<?> getStatChronicByTimeSexAgeComm(String startDate,String endDate){ List<?> l = null; String sql = ""; sql = sql + " select COMMUNITY.COMMUNITY_NAME COMUNITYNAME,"+ ...原创 2010-12-29 15:44:33 · 626 阅读 · 0 评论 -
SQL Case When Then 条件判断
CASE WHEN 条件1 THEN 结果1 WHEN 条件2 THEN 结果2 WHEN 条件3 THEN 结果3 WHEN 条件4 THEN 结果4......... WHEN 条件N THEN 结果N ELSE 结果XENDCase具有两种格式。简单Case函数和Case搜索函数。--简单Case函数CASE sex WHEN '...原创 2010-12-29 15:56:54 · 99 阅读 · 0 评论 -
无法连接到数据库实例: ORA-12518: TNS: 监听程序无法分发客户机连接
可能是如下的原因:客户连接到监听器后,监听器把客户重定向到调度程序端口(很可能不是1521端口),由于操作系统问题,这些连接会被拒绝。要解决这个问题,只需要在LISTENER。ORA的头部加入这一行DIRECT_HANDOFF_TTC_LISTENER = OFF 即可。1:根据搜索到的原因,我们在LISTENER。ORA头部加入这一行-----------------------...原创 2011-01-05 13:40:47 · 483 阅读 · 0 评论 -
oracle根据id查询数据时候in后面数目不能超过1000但是or可以
select * from table where id in (.............) 如果()里超过一千个就会报错,列表只准许1000个。 如果换成select * from table where id = or id= .................... 就可以没有报错。...原创 2011-05-04 15:13:09 · 230 阅读 · 0 评论 -
批量插入数据效率问题
大家都知道,招聘系统有用户投递简历的操作,用户可以选择多条职位信息进行投递。显然对存简历id和公司发布信息id的中间表操作时非常频繁的,如何优化效率是关键。 细节一:同时插入多行记录时,宜采用一条Insert语句 在数据插入时,往往需要同时往一个表中插入多条数据。如以ERP系统的采购订单为例。用户在前台客户端录入采购订单时,有可能需要向同一个供应商同时采购多个原材料。此时在数据库中,...原创 2011-05-21 22:04:03 · 868 阅读 · 0 评论 -
telephone页面传值到struts2模型驱动中报错
- Error setting expression 'resumeinfo.telephone' with value '[Ljava.lang.String;@db81f3'ognl.MethodFailedException: Method "setTelephone" failed for object com.online.job.model.Resumeinfo@18a0a8 [jav...原创 2011-05-22 19:42:02 · 73 阅读 · 0 评论 -
case when和decode
Oracle的DECODE函数功能很强,灵活运用的话可以避免多次扫描,从而提高查询的性能。而CASE是9i以后提供的语法,这个语法更加的灵活,提供了IF THEN ELSE的功能。 对于很多情况,DECODE和CASE都能解决问题,个人更倾向于使用DECODE,一方面是从8i保留下来的习惯,另一方面是DECODE的语法更加的简洁,代码量要小一些。不过今天在看Oracle9i的数据仓库手...原创 2011-08-16 18:15:00 · 79 阅读 · 0 评论 -
事物隔离级别
事物隔离级别(转)以前一直没有搞得特别明白,这次又碰上了这个问题,整理一下。事物隔离级别定义在数据库并发事务中一个事务中的数据修改对另一个同时运行的事务的影响。数据库并发事务中的三个问题:Dirty Read: 如果能够读物没有提交的事务所做的数据修改,就会发生脏读的问题。因为事务有可能回滚。Nonrepeatable Read: 这个主要是因为在一个事物中的两次读数...原创 2011-08-19 00:03:00 · 62 阅读 · 0 评论 -
事务的隔离级别
如果DBMS支持事务处理,它必须有某种途径来管理两个事务同时对一个数据库进行操作时可能发生的冲突。用户可指定事务隔离级别,以指明DBMS应该花多大精力来解决潜在冲突。例如,当事务更改了某个值而第二个事务却在该更改被提交或还原前读取该值时该怎么办。 假设第一个事务被还原后,第二个事务所读取的更改值将是无效的,那么是否可允许这种冲突?JDBC用户可用以下代码来指示DBMS允许在值被提交前读取...原创 2011-08-19 00:06:23 · 61 阅读 · 0 评论 -
事务开始和结束
《Oracle Database 11g SQL开发指南》深入浅出、全面细致地讲解了如何读取和修改数据库信息,如何使用SQL Plus和SQL Developer,如何使用数据库对象,如何编写PL/SQL程序等内容。第8章将介绍更多有关修改表内容的知识。 本节说的是事务的开始与结束。AD: <script src="http://www.51cto.com/js/article/ke...原创 2011-08-19 19:13:01 · 4897 阅读 · 1 评论 -
where 1=1或者 0 =0
sql where 1=1和 0=1 的作用 where 1=1; 这个条件始终为True,在不定数量查询条件情况下,1=1可以很方便的规范语句。一、不用where 1=1 在多条件查询中的困扰 举个例子,如果您做查询页面,并且,可查询的选项有多个,同时,还让用户自行选择并输入查询关键词,那么,按平时的查询语句的动态构造,代码大体如下: string MySqlStr=”s...原创 2011-09-16 18:39:34 · 209 阅读 · 0 评论 -
统计oracle 数据库 lawpeople表lawtype字段多个值只统计一次问题,按照地区分类
select temparea.name,(case when lawtype like '%501%' then 501 when lawtype like '%502%' then 502 when lawtype like '%503%' then 503 when lawtype like '%504%' then 504 when lawtype like '%505%' t...原创 2011-06-10 15:57:39 · 134 阅读 · 0 评论 -
SQL语句判断字段是否为空
select * from LAWPEOPLE where retirement is null and name='康小国';查询有结果select * from LAWPEOPLE where retirement =null and name='康小国';查询无结果原创 2011-02-25 12:02:54 · 327 阅读 · 0 评论 -
获取数据库当前时间
例如有表table,table 中有两个字段:name 、makedate1.oracle:插入系统时间应为sysdate: insert into table (name,makedate) values('测试',sysdate);2.Db2:插入系统时间应为current timestamp并且makedate数据类型为timestampinsert into t...原创 2011-06-22 10:35:03 · 2116 阅读 · 1 评论 -
to_date
TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 显示值:07 yyy three digits 三位年 显示值:007 yyyy four digits 四位年 ...原创 2011-06-29 15:25:23 · 76 阅读 · 0 评论 -
ORACLE实现非主键自增
create table hello (id number,pid number);此处设需要把pid设成自增字段。create sequence inc_seq increment by 1;create or replace trigger hello_triggerbefore insert on hellofor each rowbeginselect inc_seq...原创 2011-04-11 16:54:39 · 810 阅读 · 0 评论