• IBM 的数据库Informix 常用代语法


    Informix 日期类型

       datetime year to second  格式为 2003-08-05 10:00:00

       datetime year to day  格式为 2003-08-05

    Informix 数据类型说明

     在定义一个字段时,使用char(x)后。如果字段放入的内容不足x长,就会以空格填充,在代码操作时,需要trim()去掉多佘的空格,sql server 2005 也有以上情况。

     varchar(x) ,x 的最大值是255, 所以它存放的数据是有限的。这个时候,就需要使用lvarcahr(x) ,版本9.4以后可以加长度 x, 那么在hibernate 中怎么映射并使用lvarchar(x)  呢, 这个问题纠结了好久,还替换了hibernate 的核心包,如果要使用lvarchar(x),和以前一样的映射,如果在查询语句时,不能写SQL语句,只能写HQL 语句.

    Informix 存储过程中 使用 let 赋值 

    define cur_dtime_var datetime year to second;

            let cur_dtime_var = current; -- 使用let 目赋值

    Informix 修改表中字段的值,不可以给某个表起别名,如:update atable a  set a.name='stuName' where a.id=1;   这就会出错,informix 会报语法错误,不能给表atable 起别名 a.

    但在其他的数据中,以上update 语句是正确的,如在mysql 中是可以正确的执行。
    Informix 存储过程学习示例,只供自己学习之用

    create procedure myproc1() -- 隐式的语句块的开始
    define x int ;
    let x =17;
    insert into table1 values (x,'zs');
    begin --  显示的语句块开始
    define y int;
    let y = 18;
    insert into table2 values (y,'ls');
    end   -- 显示的语句块结束
    end procedure; -- 隐式的语句块的结束
     
     
     create procedure continue_ex()
     	 returning int;
    	 define i int;
    	 for i=1 to 20
    		insert into testtb1 values(i);
    		if i=6 then
    			continue for; -- 当i=6 时,跳过最内层的循环
    		end if;
    		return i with resume; -- 返回i 然后再重新循环
    	 end for;
     end procedure;
     
    -- 存储过程如何返回记录集已经测试成功了, 
    drop procedure tmp;
    create procedure tmp()
    	returning decimal(12,2),decimal(12,2),varchar(20);
    	  define a,b decimal(12,2);
    	  define c varchar(20);
    	  select * from gskb into temp tmp;
    	  foreach select sjf_je,cbm_cert,station into a,b,c  from tmp
    	  return a,b,c with resume;
    	  end foreach;
    end procedure 
    
    
    
    


     informix 中的自增长

     drop table zrjCarParmConfTmp;
     alter table zrjCarParmConfTmp modify mainid  SERIAL(1)   not null;  
     create table zrjCarParmConfTmp  (
      mainid               SERIAL                        not null,
      comcode              CHAR(8),
     primary key (mainid)
          constraint PK_ZRJCARPARMCONFT
    );
    select * from zrjCarParmConfTmp;
    insert into zrjCarParmConfTmp values(0,'11111111');
    insert into zrjCarParmConfTmp (comcode) values('11111112');
    


    informix 截取 前几位数据 和调用 存储过程示例

    execute PROCEDURE PRO_zrjUncarBaseTmp('32059800','20130101','20141201');
    execute PROCEDURE PRO_zrjUncarBaseTmp('32059800',TO_DATE('20130101','%Y%m%d'),TO_DATE('20141201','%Y%m%d'));
    select * from zrjUncarBaseTmp where comcode like '320555343'[1,4]||'%';
    
    @call newreinsdb_dat:zbyanfa.pro_zrjuncarbasetmp(${sp_comcode_in||(null)||String||nullable ds=0 dt=VARCHAR dir=in}$, ${sp_bgndate||(null)||Date||nullable ds=0 dt=DATE dir=in}$, ${sp_enddate||(null)||Date||nullable ds=0 dt=DATE dir=in}$);
    select TO_CHAR(today,'%Y%m%d') from systables where tabid=1
    



  • 相关阅读:
    .Net插件编程模型:MEF和MAF[转载]
    并行任务task
    wpf动画概述
    vs在线工具杂烩
    力挺8天入门wpf【转载】
    vs debug 快捷键
    Visual Studio® 2010 Web Deployment Projects站点编译生成bin同时发表插件
    EasyUI选项卡tab页面处理示例
    显示输入框只能输入的内容
    JqueryeasyUI选项卡选择判定更改内部Iframe地址
  • 原文地址:https://www.cnblogs.com/java20130726/p/3218302.html
Copyright © 2020-2023  润新知