inofrmix笔记小结

原创 2007年10月10日 17:59:00

1、不等于 :<>

2、判断是否为空:is null

3、nvl函数

NVL(expr1,expr2):如果expr1是NULL,则返回expr2,否则返回expr1.返回值与expr1类型相同,除非expr1是字符串类,在这种情况下将返回VARCHAR2类型.这个函数用于确保查询记录集中不包含NULL值。
NVL(expr1,expr2,expr3) :如果expr1是NULL,则返回expr2,否则返回expr3.返回值与expr2类型相同,除非expr2是字符类型,在这种情况下返回VARCHAR2类型;
NULLIF(a,b) :如果a等于b返回NULL,如果不等于返回b。


4、substr()函数
substr(str,startindex,count);其他数据库一般用substring(str,startindex,count);

5、string转换成sql的date型:to_date('2006-12-25','%Y-%m-%d');

6、得到昨天的日期:today-1

7、查看sql的执行过程:

1)登录:su - informix2)建立SQL文件,里面放要执行的sql语句,同时在前面加一行,set explain on;sql 语句;3)导入sql文件执行:isql -s databasename<filename4)查看执行过程:cat sqexplain.out


8、使用临时表:
into temp tablename with no log ;最好加上with no log;

9、建立存储过程:

1)文件命名为zeng.sql
drop procedure zeng;
create procedure zeng(deptstr varchar(20),time1 char(10),time2 char(10))
returning
decimal(14,2);
define mysum
decimal(14,2);
select a.ownid,a.masterid,c.sendsum from distribute a,order_bankbill b,bankbill c where a.orderid=b.orderid and b.bankbillid=c.id and a.deptno=deptstr and c.sendtime >=time1 and c.sendtime <=time2 into temp mytemp with no log ;
select nvl(sum(sendsum),0) into mysum from mytemp where ownid=masterid;
return mysum WITH RESUME;
end procedure
2)导入到数据库:
dbaccess databasename zengchao.sql
3)进入数据库,执行
dbaccess databasename
……
execute procedure zeng ('00xm010101','2006-03-01','2006-03-25');


10、update的一种用法

update distribute set (masterid,mastername)=
((
select nvl(groupmanager,0),nvl(groupmanagername,'') from department where distribute.deptno=department.departmentno ))
where opertime>='2007-02-11';//注意后面不要漏掉一层括号


11、unique与distinct的区别:
unique是distinct的同义词,功能完全相同。distinct是标准语法,其他数据库 sql server,db2,oracle,sybase,mysql等都支持。unique,informix数据库认识,其他数据库有的认识,有的不认识。

12、Case语句用法:

select name,case when id=9188 then 'ttt' else name end from employee where departmentno ='00xm';


13、使用优化器(update statistics):

优化使系统表的信息与实际一致,使搜索树的路径最优。同时,整理索引树。例:
1. update statistics for table
2. update statistics for procedure
3. update statistics for table rta1(bm_cert)
4. update statistics high for table rta1(bm_cert) resolution 0.5


14、连接字符串(||):
select id ||':'|| name from employee

15、JDBC事务与游标
注意要先关闭ResultSet然后提交事务;

16、informix备份表数据(isql)

1)导出:unload to "zengchao.data" select * from position;
2)导入:load from "zengchao.data" insert into position;


17、关于like与[]

select count(*) from employee where departmentno like '00xm01%';
select count(*) from employee where departmentno[1,6]='00xm01';
这两条语句,执行差不多,但是估计成本是第二个比第一个好


18、informix下更改表名

update systables set tabname='oldredeploy' where tabname='redeploy';


19、count(name)与count(*)区别

如果name列有null值,那么如下两条语句得到的返回值不等
select count(*) from tablename
select count(name) from tablename

20、锁表的解决方法(转)
1、找到被锁表的partnum:select hex(partnum) from systables where tabname = ”tabalname”;2、onstat -k|grep partnum 找到该锁的owner;3、onstat -u | grep owner 找到用户会话session号;4、onmode -z sesid 杀掉该session;5、如果第4步失败,则进一步onstat -g ses | grep sesid 找到该发起该会话的pid;6kill pid 或 kill -9 pid;7、特殊情况:在第2步中,如果发现锁的owner为0,则检查:
onstat
-x
onstat
-G
看是否存在全局事务,若有全局事务,则继续以下步骤:
select hex(tx_addr) trans_addr,hex(tx_lklist) lock_addr from systrans where hex(tx_addr) like '%c000000007674c58%';需要说明的是,c000000007674c58是使用onstat -x 或 onstat -G得到的全局事务的地址。上面SQL语句提供出该全局事务对应的锁地址,这时如果得到的锁地址与锁表的锁地址相同的话,你就必需从应用端(通常是三层结构的中间件)发命令让该全局事务回滚或提交,否则该锁会被一直持有,直到你执行oninit -i。

 

21、从数据库的数据导成Excel格式

方法一:1)导成csv文件:isql -s databasename unload to data.csv select * from tablename;2)转换成Excel:用Excel中的“数据”->“导入外部数据”->“导入文本文件”,选择分隔符为'|'
方法二:
用Excel中的“数据”
->“导入外部数据”->“新建数据库查询”,然后配置数据源


 

springmvc学习笔记(22)-springmvc开发小结

本文对springmvc系列博文进行小结 springmvc框架 注解开发 使用注解方式的处理器映射器和适配器 注解开发中参数绑定 springmvc和struts2区别 校验 数据回显 异常处理 ...
  • h3243212
  • h3243212
  • 2016年03月15日 11:31
  • 3167

android 每周学习笔记及总结(每周更新)

2015.10.26 初入酷友科技实习android,明确了开发环境android studio,也明确了学习方法(目前java功底都不深): 1  视频学习扣丁学堂:http://www.codin...
  • DT235201314
  • DT235201314
  • 2015年11月03日 19:35
  • 1339

小白日记2:kali渗透测试之被动信息收集(一)

一、被动信息收集 被动信息收集指的是通过公开渠道可获得的信息,与目标系统不产生直接交互,尽量避免留下一切痕迹的信息探测。被动探测技术收集的信息可以大致分为两类, 即配置信息和状态信息。 被动探测...
  • ZiXuanFY
  • ZiXuanFY
  • 2016年09月05日 21:23
  • 1606

linux学习小结笔记

  • 2008年12月12日 10:31
  • 58KB
  • 下载

MODIS产品下载与数据处理小结-笔记

  • 2015年12月25日 00:09
  • 950KB
  • 下载

机器学习笔记 监督学习算法小结(一)

前言坚持写博客半年多了,但感觉自己没有写技术博客的天赋,写出来的东西深度和广度都欠缺,也不容易理解。事实上大部分技术博客都存在这些问题,但即便写得不好,也会起到一定作用,所以我还是决定坚持写下去。接触...
  • qq_35064774
  • qq_35064774
  • 2017年02月04日 12:16
  • 1359

R语言与回归分析学习笔记(应用回归小结)(2)

三、异常点         所谓的异常点一般指有着很大残差(绝对值)的点,如果对模型的参数估计值影响出现了比例失衡,那么我们称之为强影响点。为了说明异常点与强影响点的判别,我们特意采用模拟的数据来证实...
  • yujun7654321
  • yujun7654321
  • 2013年07月05日 15:56
  • 11483

webservice 笔记(小结) axis2 集成spring 调用服务

刚才我们已经把我们的服务发布成功了,现在我们开始访问我们的服务,我们采用 根据wsdl自动生成客户端的方式 一、 1、新建一个java project ,取名为ServiceClient 2、建立一个...
  • caozhongyan
  • caozhongyan
  • 2011年06月13日 17:22
  • 1683

Java-阶段小结笔记(二)--String类

1.关于String的new操作原理 String中new创建的是两个对象,常量池中的数据拷贝到堆里面.PNG 图中String中new创建的是两个对象,先在常量池中创建数据,然后再拷贝到堆里面,最...
  • ZOKEKAI
  • ZOKEKAI
  • 2017年07月07日 17:13
  • 132

[原创]小结:opencv中碰到的cvGetSubRect内存泄漏问题(初学者笔记)

近日在写一段opencv程序,使用cvGetSubRect()函数时碰到了内存泄漏问题(参见:Justin http://blog.csdn.net/Justin4wd/archive/2008/06...
  • flyingworm_eley
  • flyingworm_eley
  • 2011年05月08日 20:26
  • 1696
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:inofrmix笔记小结
举报原因:
原因补充:

(最多只允许输入30个字)