随笔分类 -  oracle

摘要:Exists:子查询至少返回一行时条件为true。 Not Exists:子查询不返回任何一行时条件为true。 In:与子查询返回结果集中某个值相等。-- in null不会显示为null的值,因为null是未知的所以不会有=null,要查询为null的请用is null Not In:与子查询返 阅读全文
posted @ 2017-11-30 15:37 巴啦啦大魔王 阅读(309) 评论(0) 推荐(0)
摘要:1.coalesce(expr1,expr2........) 返回从左起始第一个不为空的值,如果所有参数都为空,那么返回空值。2.NULLIF(expr1,expr2)如果expr1等于expr2返回null否则返回expr1.3.DUMP函数用来判断数据类型select dump(1111) f 阅读全文
posted @ 2017-11-28 16:47 巴啦啦大魔王 阅读(162) 评论(0) 推荐(0)
摘要:索引两大类 B树索引和位图索引。1.当表被删除后,对应的索引也自动删除 2.表中的非延迟 PRIMARY KEY 或者 UNIQUE KEY 约束自动创建一个唯一索引 3.对于执行的每一个 DML 操作,对应的索引也自动更新 4.FOREIGN KEY 和 NOT NULL、 CHECK 约束都不创 阅读全文
posted @ 2017-11-27 15:03 巴啦啦大魔王 阅读(162) 评论(0) 推荐(0)
摘要:序列的两个伪列:currval 序列的当前值,反复引用时该值不变。nextval序列的下一个值,每次引用按步长自增。 CREATE SEQUENCE se1INCREMENT BY 10START WITH 50MAXVALUE 100CYCLENOCACHE 第一次要引用一下 nextval伪列s 阅读全文
posted @ 2017-11-27 14:35 巴啦啦大魔王 阅读(176) 评论(0) 推荐(0)
摘要:create table 表名 (字段名 --长度);一般表名要以字母开头表名的长度为 1-30 个字符 ,可以包含字母、数字下划线(_),美元符($),井字号(#) 表的列最多为 1000 个 ,有 DEFAULT 值的列可以存储空值 相同的 schema 里,表和视图的名字不能相同 1)表,视图 阅读全文
posted @ 2017-11-24 17:27 巴啦啦大魔王 阅读(504) 评论(0) 推荐(0)
摘要:字符型char 固定字符,最长2000个--char默认值是char(1)varchar2 可变长字符,最长4000个,最小值是1--VARCHAR2 数据类型必须要指定 size nchar/nvarchar2 NCHAR/NVARCHAR2类型的列使用国家字符集raw和long raw 固定/可 阅读全文
posted @ 2017-11-24 15:46 巴啦啦大魔王 阅读(224) 评论(0) 推荐(0)
摘要:1.q select q''a%'' from dual; '为分隔符--注意当使用单引号为分隔符时,被转义的字符串中与转义单引号相连的不能时单引号--例:select q''xxx'' from dual;这其中x不能为单引号select q'!a'!' from dual;!为分隔符 开始分隔符 阅读全文
posted @ 2017-11-24 14:11 巴啦啦大魔王 阅读(293) 评论(0) 推荐(0)
摘要:Union(并集去重排序),对两个结果集进行并集操作,重复行只取一次,同时进行默认规则的排序; Union All(并集不去重不排序),对两个结果集进行并集操作,包括所有重复行,不进行排序; Intersect(交集去重排序),对两个结果集进行交集操作,重复行只取一次,同时进行默认规则的排序,不忽略 阅读全文
posted @ 2017-11-24 11:38 巴啦啦大魔王 阅读(207) 评论(0) 推荐(0)
摘要:SQLPLUS登陆数据库的时候,无法登录到数据库,只有shutdown abort一个命令能有效果,其余命令均无效,看出问题前后台提示:ORA-21561: OID generation failed ,然后就通知我密码不对,但我用PL/SQL是可以进到数据库里,查了半天竟然是/etc/hosts文 阅读全文
posted @ 2017-11-22 10:48 巴啦啦大魔王 阅读(915) 评论(0) 推荐(0)
摘要:导出一个表(如果有分区则每个分区)100行记录exp test/123@132.26.60.80:1521/orcl1 file=F:\dmp\tab1.dmp log=F:\dmp\tab1.log tables=(tab1) query=\"where rownum<101\" 接着是批量导出, 阅读全文
posted @ 2017-11-13 12:34 巴啦啦大魔王 阅读(206) 评论(0) 推荐(0)
摘要:用Informatica跑ETL时,出现ora-26002错误。使用BULK时会报这个错误,因为是大批量insert插入所以很多normal insert时该完成的任务没完成,例如表上有索引时。而且BULK不支持update。 总结出现这个错误可以把load type改成normal 阅读全文
posted @ 2017-11-10 11:40 巴啦啦大魔王 阅读(507) 评论(0) 推荐(0)
摘要:--先上结论 prior id=fid时,下一行列fid的值起始行列id的值--可以用树形结构来标识,当 prior父节点id=子节点fid时,父节点在最上--当prior子节点fid=父节点id,父节点在最下 select id,fid from tab1 start with id=100078 connect by id=prior fid 1 100078 100971 2... 阅读全文
posted @ 2017-11-06 14:19 巴啦啦大魔王 阅读(484) 评论(0) 推荐(0)
摘要:一、interval函数--将数值按标准换算为日期 1. select interval '1234' year(5) from dual;--注意year时默认精度为2 +01234-00 --1234年不足的位数用0补上 select interval '123' month from dual;--这里为啥用默认值2可以呢?因为输出是xx年xx月,如果年份的值为个位数使用month... 阅读全文
posted @ 2017-11-02 15:09 巴啦啦大魔王 阅读(5631) 评论(0) 推荐(0)
摘要:导入数据发生 ora-12592 TNS:包错误, 网上搜寻资料发现原因是导入时间长导致防火墙触发了。 解决方法: 1.关掉防火墙尝试导入 2.如果是用本地客户端导入可以尝试到服务器上导入 3.在数据库服务端和客户端配置sqlnet.ora文件,设置参数SQLNET.SEND_TIMEOUT更大。 阅读全文
posted @ 2017-11-02 13:34 巴啦啦大魔王 阅读(8560) 评论(0) 推荐(0)
摘要:测试一count(列名)是否计算空值 --建个测试表 carete table test(id number(10),note varcahr2(10)); --插入数据 insert into test(id,note) values (1,'1');--note列有值 insert into test(id,note) values (2,'');--note有个'' insert in... 阅读全文
posted @ 2017-10-23 17:11 巴啦啦大魔王 阅读(3632) 评论(0) 推荐(0)