INFORMIX-4GL实用手册

合集下载

INFORMIX -4GL 教程 的 入门 教材 数据库1-12

INFORMIX -4GL 教程   的 入门 教材 数据库1-12
file:///E|/erpdown/20100809(鼎捷)/易拓/Genero/NFORMIX-4GL的入门教材/1-12.htm[2010/8/10 19:38:53]
访问www.获erp取d免ow费nE.RcoPm文档及软件!
INFORMIX-4GL教程 COLUMN 38, r_b + s_b USING "###,###", COLUMN 46, r_m + s_m USING "###,###", COLUMN 54, r_s + s_s USING "###,###" PRINT COLUMN 05,"======================================"
FOREACH p_curs INTO p_person.* ... END FOREACH
12-4 執行報表
<語法格式> START REPORT report_name begin loop OUTPUT TO REPORT report_name(variable_list) end loop FINISH REPORT report_name
END REPORT
若使用 ORDER BY 則所欲排列的變數必須出現在 REPORT 的argument_list中。
12-3 報表資料之選擇
欲得到報表中所須之資料,必須使用 SELECT 敘述配合 cursor 和程式迴圈來選取報表中所須之資料。 §例:
DEFINE query_1 CHAR(500) DEFINE query_stat CHAR(500)
§例: DEFINE prt_file CHAR(14) LET prt_file = "??????.report"

INFORMIX -4GL新手进阶整理

INFORMIX -4GL新手进阶整理

Informix - 4GL 初级进阶Informix - 4GL 初级进阶 (1)第一章INFORMIX-4GL基本组成 (1)第二章INFORMIX-4GL的处理逻辑 (3)第三章INFORMIX-4GL中的数据类型 (6)第四章定义程序变量 (11)第五章函数间传值 (14)第一章INFORMIX-4GL基本组成程序INFORMIX-4GL中的程序可以处理大量的应用需求,可以管理小型商业或主要银行的资金。

INFORMIX-4GL程序包括执行特定函数所需的所有部分。

程序:为解决一个问题或处理数据由计算机执行的操作逻辑顺序。

模块文件INFORMIX-4GL的一个构件是模块(module),模块是INFORMIX-4GL指令的机器文件,是整个程序的一部分。

把一组模块组合在一起,就成为整个程序,上图中有三个模块,合在一起就组成了客户程序。

在上图,跟踪记录客户的程序分成了三个模块,每个模块有其特殊的作用,cust_main.4gl 模块用于驱动和控制程序,cust_add.4gl模块用于管理新增客户记录,cust_edit.4gl模块包括改变或删除客户记录的INFORMIX-4GL代码。

模块包括一个或多个函数的集合。

函数(function)是INFORMIX-4GL代码最基本的单元,它是在被调用时执行的一组INFORMIX-4GL语句序列。

在INFORMIX-4GL程序中函数一次也没执行过也是有可能的,例如,如果从没删除过客户,那么函数delete_cust就不会被调用函数类型在INFORMIX-4GL中有四种函数,不同的函数名表示不同种类的INFORMIX-4GL语句功能。

GLOBALS:在这个函数只用于说明变量声明语句,它也让其它模块知道变量的存在,每个程序只允许有一个GLOBALS函数。

MAIN:给出INFORMIX-4GL开始的位置,INFORMIX-4GL首先总是先读MAIN函数,MAIN函数驱动程序的其余部分,因此,每个程序要有一个MAIN函数(否则INFORMIX-4GL不知从哪儿开始)执行。

融海咨询informix_4gl教材第三十三章SCROLL游标和过期数据:一个解决方案

融海咨询informix_4gl教材第三十三章SCROLL游标和过期数据:一个解决方案

..第三十三章SCROLL游标和过期数据:一个解决方案融海咨询本章讨论了一个关于SCROLL游标的问题,讲解了当临时表空间有限时怎样使用SCROLL游标,以及怎样解决过期数据的问题。

融海咨询为了在行集中滚动,SCROLL游标创建了临时表,临时表包含了满足与SCROLL游标相关联的SELECT语句的所有数据行。

*●DECLARE语句:DECLARE语句为SELECT语句分配一个名字及所需的最小内存。

*●OPENU语句:OPEN语句申请内存缓冲区,以便把数据行从数据库引擎传到应用程序,缓冲区大小与机器有关。

*●FETCH语句:当用SCROLL游标时,FETCH语句把所有满足SELECT的行都检索出来。

在上图例子中,即取出Customer表中的所有行,这些数据都存在磁盘的临时表上供FETCH使用。

*●CLOSE语句:CLOSE语句释放缓冲区并删除SCROLL游标所用的临时表。

融海咨询SCROLL游标有两个潜在的问题:*●临是表可能很大*●数据可能过期满足SECECT的所有行都放在了临时表,这使得临时表会变得很大,在临时表创建时会导致内存问题。

例如:customer表每行有134字节,若customer表有20000行,且SELECT 语句检索所有行,临时表就要2M以上才能放下检索的行。

SCROLL游标还有另一个问题,一但把数据读到临时表,所有数据都将从临时表取,这意味着若有其它用户对Customer表做了修改或删除,都不会反映到临时表,只有重新打开SCROLL游标才起作用。

融海咨询只要明白游标操作,问题解决起来就变得简单了。

对于大临时表问题:要减小创建的临时表,可以少检索些行或字段,SCROLL游标一般和CONSTRUCT语句相关联,一但执行了带CONSTRUCT的WHERE子句,你就无法控制检索出来多少行。

另外还可以少选些字段。

对于过期数据问题:只有一个方法来解决过期数据问题,每次作FETCH语句时,都要从实际表而不要从临时表中取数。

Informix数据库基本操作和常用配置

Informix数据库基本操作和常用配置
创建数据库
在控制台输入dbaccess,进入informix管理界面,界面的菜单就不一一解释了,选择database-create输入数据库名,以test为例,回车,dbspace选择test,回车,这一步完了用方向键移到exit选项上,退回到上级菜单,选择Create-new-database,回车即可。完成后一直exit退出管理界面,输入ontape -s -B test修改数据库test日志模式为bufferedlogging,这一步是必须的,否则数据库不支持事务,完成后即可以使用该数据库。Linux下数据库的创建和windows下的一样。简单说一下informix数据库中的四种日志模式:
1、DirtyRead(脏读)隔离
DirtyRead是最简单的隔离级,类同于无隔离级当进程在读数据据时并不对所读的数据上锁,也不管其他进程上没上锁或在做什么。
2、CommittedRead(提交后读)隔离
当进程请求CommittedRead隔离级时,OnLine保证进程得到的数据不是数据库未提交的数据即此时没有其他进程在对这些数据做修改。
U代表Unbufferd(无缓冲日志模式)
B代表bufferd(缓冲日志模式)
A代表Ansi(不常用,不能和其它日志模式转化)
还有一种是N(Nolog)(无日志模式)
各个日志模式之间用ontape -s -代码(U,B,N,A)来进行转换,但转换之前需要修改onconfig文件中的TapeDev和Ltapedev两个参数,指向/dev/null,以免在数据库模式转换的时候进行长时间的0级备份,这两个参数具体含义会在后面说到。
还有一种提高并行性的设置,使用Set Isolation to Committed Read Last Committed语句,为SET ISOLATION TO COMMITTED READ语句引入新的LAST COMMITTED关键字选项,可减少尝试读取表时发生锁定冲突的风险。采用该语句,当用户读取正在被其他用户修改的数据时不在处于锁等待状态,而是可以读取修改前最近落实版本的数据值。这样,由于不会产生锁等待,应用程序效率会显著提高,而且,由于是读取修改前最近落实版本的数据值,也不会产生读取幻象数据(phantom data)的问题,同时,也会大大减少产生死锁的现象。它只支持“行”级别锁定,它不支持以下这些表:正在被DataBlade模块(DataBlade模块是一种标准的软件模块,它可以被插入到数据库中,用以扩展其能力,使用户可以使用任何想要的数据来做任何想做的事情。用户可以融合和匹配来自第三方和Informix的DataBlade模块,或者编写自己的DataBlade模块来创建革新化的商务应用。每个DataBlade模块都包含某一特定领域数据管理的专业知识,可以简单地插入到数据库中,既可以单独使用,又可以与其他DataBlade模块一起使用。有了这种灵活性,用户就可以扩充其DBMS,来解决现在以及将来的特殊数据管理问题。)访问的表、列中具有集合数据类型的表、使用虚拟表界面创建的表、具有页面级别锁定的表、具有专用表级别锁定的表或无事务记录的数据库中的表。在跨服务器的分布式查询中,如果发出查询的会话的隔离级别具有有效的LAST COMMITTED隔离级别,但一个或多个参与操作的数据库不支持该LAST COMMITTED功能,那么整个事务符合发出该事务的会话的“已落实读”或“脏读”隔离级别,而不启用LAST COMMITTED选项。

informix-4GL

informix-4GL

informix-4GL三運⽤資料庫1.指定⼀個欲使⽤的資料庫指定⼀個欲使⽤的資料庫的⽅法很簡單。

只要鍵⼊DATABASSE及資料庫名稱即可<語法> DATABASE 資料庫名稱2.⽤DEFINE命令定義程式變量<語法> DEFINE 變數串列資料型能[…]①變數串列,是⼀個或多個變數,以逗號分開。

②資料型能,是該變數串列的資料型能③DEFINE命令,須緊跟在GLOBAlS,MAIN,FUNCTION或REPORT四個關鍵字之後,或者,在END GLOBALS之後MAIN,FUNCTION,REPORT之前。

後者定義模組變量時。

④變量名稱,不得超過18個字元,但僅有前8個字元作為辨認之⽤不可重複。

同時⼤⼩寫視為相同。

⑤變量名稱,不得⽤保留字。

⑥城市變量名稱,與資料變量表格,或欄位,或資料庫名稱相同時,以程式變量名稱為準,欲使⽤后三者,須在其前加上⼀個@符號。

⑦程式變量的資料型能:注意:程式變數沒有SERIAL型能。

⑧LIKE關鍵字,讓你定義與資料庫欄位資料型能相同的程式變量名稱。

<語法>DEFINE變數名稱[,…] LIKE資料型能·欄位名稱eg: DEFINECUST_name CHAR(20),CUST_balance MONEYEg: DEFINECUST_lname LIKE customer.lname,c_order_date,c_ship_date DATE⑨程式變數,依他們被宣告(DEFINE)的位置,可分為整體變數(GLOBAL),模組變數(MODULE)與局部變數(LOCAL)三種。

⽽有效範圍也不同(1)整體變數(GLOBAL):通常被宣告在獨⽴的⼀個⽂字檔案(.4GL)中,⽽在各程式模組中以GLOBALS“整體變數檔名”的命令,它包進來。

如下⾯這個gl_data.4gl的內容:(與其他模組⼀樣須編譯接到主程式上)(2)模組變數(MODULE):宣告的位置,在每個程式檔案上。

INFORMIX--4GL新手进阶整理

INFORMIX--4GL新手进阶整理

INFORMIX--4GL新手进阶整理Informix - 4GL 初级进阶Informix - 4GL 初级进阶 (2)第一章 INFORMIX-4GL基本组成 (2)第二章 INFORMIX-4GL的处理逻辑 (5)第三章 INFORMIX-4GL中的数据类型 (10)第四章定义程序变量 (19)第五章函数间传值 (24)第一章INFORMIX-4GL基本组成程序INFORMIX-4GL中的程序可以处理大量的应用需求,可以管理小型商业或主要银行的资金。

INFORMIX-4GL程序包括执行特定函数所需的所有部分。

程序:为解决一个问题或处理数据由计算机执行的操作逻辑顺序。

模块文件INFORMIX-4GL的一个构件是模块(module),模块是INFORMIX-4GL指令的机器文件,是整个程序的一部分。

把一组模块组合在一起,就成为整个程序,上图中有三个模块,合在一起就组成了客户程序。

在上图,跟踪记录客户的程序分成了三个模块,每个模块有其特殊的作用,cust_main.4gl模块用于驱动和控制程序,cust_add.4gl模块用于管理新增客户记录,cust_edit.4gl模块包括改变或删除客户记录的INFORMIX-4GL代码。

GLOBALS:在这个函数只用于说明变量声明语句,它也让其它模块知道变量的存在,每个程序只允许有一个GLOBALS函数。

MAIN:给出INFORMIX-4GL开始的位置,INFORMIX-4GL首先总是先读MAIN函数,MAIN函数驱动程序的其余部分,因此,每个程序要有一个MAIN函数(否则INFORMIX-4GL不知从哪儿开始)执行。

REPORT:它是附加的报表格式化语句,其它的函数如MAIN、GLOBALS和FUNCTION不能处理报表语句。

FUNCTION:这是INFORMIX-4GL代码的基本单元,它不象MAIN和GLOBALS有特殊用处,定义一个函数的目的是什么它就做什么。

Informix4GL数据库查寻里面地翻屏编制程序灵活技术-电脑资料

Informix4GL数据库查寻里面地翻屏编制程序灵活技术-电脑资料

Informix4GL数据库查寻里面地翻屏编制程序灵活技术-电脑资料informix-4GL是一个综合性的第四代应用程序开发和生成环境,它具有强大的数据库管理功能,编程灵活方便,界面友好,已被广泛应用于UNIX操作系统下的数据库管理,。

下面介绍一段借助屏幕表格完成查询的小程序,它可通过在屏幕上相应字段输入模糊查询条件,如*、=、?等,据此搜索出满足条件的全部记录,再按Ctrl-F或Ctrl-B分屏浏览(调用一个游标管理函数que_gz ),用上下光标键并结合Esc键选择所需记录,再通过内部函数arr_curr()将此记录所包括的信息传出它用,在实际工作中可将此段程序写成函数形式,简洁明快,需要时只要改写相应变量即可,省时省力。

此段程序在SCO UNIX Open Sever5.05、online7.3上编译通过。

程序清单:屏幕格式:database 数据库名screen{人员代码[a ]人员姓名[b ]====================================人员代码人员姓名工资[f000 ] [f001 ] [f002 ][f000 ] [f001 ] [f002 ][f000 ] [f001 ] [f002 ][f000 ] [f001 ] [f002 ][f000 ] [f001 ] [f002 ][f000 ] [f001 ] [f002 ][f000 ] [f001 ] [f002 ]}endtablesgzattributesa=gz.xh,autonext;b=gz.xm,autonext;f000=formonly.xh type char;f001=formonly.xm type char;f002=formonly.gz type decimal(6,2);endinstructionsscreen record s_gz[7](formonly.xh,formonly.xm,formonly.gz) gz库表结构:序号:xh char(6)姓名:xm char(8)工资:gz decimal(7,2)。

INFORMIX-4GL实用手册(四)(1)

INFORMIX-4GL实用手册(四)(1)

Informix-SPL(过程)语法详解Informix数据库用户一般都熟悉的使用SQL语句进行简单的查询和统计,而在Informix-Online的数据库服务器中提供了用结构化查询语言SQL语句和流程控制存储语言SPL创建存储例程,以减少Informix的处理。

存储例程是SQL语句和SPL的集合。

它们存放在数据库中,SQL语句会被分析.优化,在例程的执行中,高速缓存中会有一执行规划,使后续操作的执行速度很快。

而单独的SQL语句只有在执行时才会被优化,并且存储例程可以被不同的开发工具调用(4GL、ESQL/C、POWERBUILDER.DELPHI),在SELECT 语句中也调用过程。

例程调试简单,不必重新编译应有软件包。

在例程创建时Informix查询处理器会分析它,并产生一执行规划,永久存放于SPROCEDURES.SYSPROBODY.和SYSPROPLAN中,其后例程按此规划执行,由于大部分查询处理已经完成,存储例程可以在瞬间执行完毕。

由于存储例程所具有的优越性,它已成为进行Informix数据库核心开发的有力工具,掌握它对Informix的开发人员有积极意义,现将我在实际工作中使用的语法和例子详解于下,疏漏和错误请来信指教。

1.创建和执行例程①.创建例程语法:CRAETEPROCEDURE[OWNER.]PROCEDURE_NAME(参数1参数类型=[DEFAULT],参数2参数类型=[DEFAULT],参数n参数类型=[DEFAULT])RETURNING值1类型,值2类型,值n类型;<......>语句体;ENDRPOCEDURE例程大小不可超过64K,这包括所有的SQL.SPL.空格.跳格符,例程名最多18个字符,并在数据库中唯一存在,语句间用";"分隔,例程只能在当前数据库中创建,例程创建后是一标准执行模板块,可在不同的应有中对其调用,这对开发不同版本的应用将更为便利。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章 Informix环境变量的设定一.环境范例:变量名称变量说明DBDELIMITER指定由dbload在卸出数据文件中使用的字段定界符DBDATE指定在DB中想要使用的日期格式(Y4MD/,MDY4-)DBEDIT指定在程序员环境中想要使用的文本编辑器(vi)DBLANG指定在程序中所使用消息文件的存放目录DBMONEY指定在DB中想要使用的货币格式DBPATH指定DB与其它相应文件的搜索路径DBPRINT指定计算机的打印程序DBSRC指定程序调试阶段文件的搜索路径DBTEMP指定临时文件的存放目录INFORMIXDIR指定Informix文件的存放目录(/usr/informix)INFORMIXSERVER指定Informixr的数据库服务器名称FORMDIR指定Informix屏幕格式文件的存放路径DBNLS指定Informix传输汉字(DBNLS=2)LANG指定Informix可显示汉字(LANG=english.8859)ONCONFIG指定Informix-Online的配置文件(onconfig.life)PATH指定Informix可执行文件的搜索路径TERM指定Informix的终端类型(TERM=vt100)TERMCAP指定Informixr的终端类型文件二.环境范例:.profile (环境变量的等号前后不得为空格)stty -istrip -isig (防止用户非法中断)INFORMIXDIR=/usr/informixINFORMIXSERVER=ld420501_tcpONCONFIG=onconfig.lifePATH=$PATH:$INFORMIXDIR/bin:$HOME/bin:$HOME/form:$HOME/prg DBPATH=/u/cbps/form:/u/cbps/binFORMDIR=/u/cbps/formDBDATE=Y4MD/LANG=english_us.8859DBLANG=english_us.8859DBNLS=2TERMCAP=/usr/informix/etc/termcapTERM=vt100export INFORMIXDIR INFORMIXSERVER ONCONFIG PATH DBPATH FORMDIR DBDATE LANGexport DBLANG DBNLS TERMCAP TERM环境变量的设置文件中还可加入其它Shell语句第二章 Informix产品线及DB应用开发工具简介一.Informix(英孚美)产品线简介(三大类):1.数据库服务器(Database Server):①.ODS (Informix-Online Dynemic Server)联机动态服务器,多线索,多性能的DB server(数据库服务器)②.XPS (Informix-Online Extended Parallel Server)将DSA扩展至松耦合或非共享的计算体系结构,动态可申缩性体系结构(Dynemic Scerable Architerta),适用于大型数据库的应用,并行SQL操作。

③.IUS (Informix-Universbl Server)处理丰富而复杂的数据而设计,并用Datablade模块技术,用来存储和检索丰富的多媒体Data及其他复杂的插入或对象扩展模块。

2.应用开发工具:①.Informix-NERERA 适用于关键性业务的C/S(客户机/服务器)模式,开放性,图形化面向对象的开发环境。

└→ Client/Server Model②.Informix-4GL 适用于各种类型业务的哑终端操作方式,适用性广,开发方便,可维护性好,功能强大,无图形功能,用户界面不够友好。

③.Informix-SQL 符合国际标准的SQL语言,具有通用性,DDL与DML合为一体,高度的非过程化,分为嵌入式和交互式两种形式,具有数据控制,访问功能。

④.Informix-ESQL/C 把SQL嵌入C语言提供实现SQL语言的目标函数库,利用宿主程序完成一个应用的过程。

3.连接工具:c4gl <*.4gl *.c *.ec *.o>; -c,o,s <OBJ>;└→ 4gl 源程序文件的编译,连接生成目标文件或可执行文件esql <*.ec *.c *.o>; -c,o <OBJ>;└→ esql源程序文件的编译,连接生成目标文件或可执行文件cc <*.c *.o>; -c,o <OBJ>;└→ c语言源程序文件的编译,连接生成目标文件或可执行文件二.SQL(Structured Query Language)简介:1.SQL(结构化查询语言)的主要特点:(RDB Server 关系型数据库服务器)①.一体化:DDL与DML合为一体.②.高度非过程化:what to do ,not how to do用户使用起来简单方便.③.具有SQL交互式与SQL嵌入式两种形式.2.SQL语言的分类:①.DDL (数据定义语言):用来创建,更改,删除数据库基表视图.②.DML (数据操纵语言):对DB中的数据进行查询或增删改操作.③.DCL (数据控制访问语言):对存取权根的控制,授权和回收,游标语句,动态管理语句,数据完整性语句,查询优化语句,事务处理语句.三.Stores7,Dbaccess,Isql,I4gl,Upscol等DBMS实用工具:1.$dbaccessdemo7 [DBname] [with log] <Retuen>;└→创建范例DB └→数据库名└→缺省不带系统日志2.$dbaccess <Retuen>;└→捆绑在Informix-Online DB Server上的一套DBMS实例程序,可以做到:①.利用该工具可以做到创建和删除数据库.②.查询数据库中各种信息,编辑使用SQL语句.③.创建,更改,删除数据库基表.④.增加,删除,修改数据库中原始记录.⑤.从OS(操作系统)文件中装载数据到数据库中.⑥.将数据库中的数据卸出到一个OS(操作系统)文件中.⑦.创建回收权限.⑧.利用该工具可以创建,删除,修改Procedure(过程)。

3.$isql <Retuen>;└→捆绑在Informix-Online DB Server上的一套DBMS实例程序,可以做到:①.利用该工具可以做到创建和删除数据库.②.查询数据库中各种信息,编辑使用SQL语句.③.创建,更改,删除数据库基表.④.增加,删除,修改数据库中原始记录.⑤.从OS(操作系统)文件中装载数据到数据库中.⑥.将数据库中的数据卸出到一个OS(操作系统)文件中.⑦.创建回收权限.⑧.利用该工具可以创建,删除,修改,编译屏幕表格文件(*.per),并运行.⑨.利用该工具可以创建,删除,修改,编译报表文件(*.ace),并运行.4.$i4ql <Retuen>;└→捆绑在Informix-Online DB Server上的一套Informix-4GL实例程序,可以做到:①.利用该工具可以做到创建和删除数据库.②.查询数据库中各种信息,编辑使用SQL语句.③.创建,更改,删除数据库基表.④.增加,删除,修改数据库中原始记录.⑤.从OS(操作系统)文件中装载数据到数据库中.⑥.将数据库中的数据卸出到一个OS(操作系统)文件中.⑦.授权和回收权限.⑧.利用该工具可以创建,修改,编译屏幕表格文件(*.per).⑨.利用该工具可以创建,删除,修改,编译,运行Informix-4GL源程序文件(*.4gl).5.$upscol <Retuen>;└→捆绑在Informix-Online DB Server上的一套屏幕属性实例程序,可以做到:①.利用该工具可以调整屏幕字段的数据属性和显示属性.②.调整屏幕字段的前背颜色,下划线,反显等.③.调整屏幕字段的数据格式,消息,限制输入等.6.$form4gl <文件名>; <Return>;①.编译已存在的屏幕表格文件:form4gl <*?*.per>;└→被编译的屏幕表格文件名②.为指定数据库中的表格生成默认屏幕格式文件:form4gl -d <filename>; <DB Server>; <Table>;└→生成文件└→数据库名└→表名7.$c4gl <*.4gl>; <Return>;使用方法: c4gl [-Vaeqcz] [-phase 12345] [-ansi] [-anyerr][-globcurs | -localcurs] [-nokeep | -keep][-static | -shared] [-nolinenos | -linenos] [-otherargs] [source.4gl ...] [othersrc.c ...] [otheresql.ec ...][otherobj.o ...] [yourlib.a ...] [-o outfile] 开关参数使用说明-V Display version of 4gl only-a Do array bounds checking-e Preprocess only, no compilation or linking-q Quiet mode for i4glc1 [phase 1]-c Preprocess & compile only, no linking-z Allow variable number of arguments to functions-phase 12345 Process only the phase that indicated-ansi Check SQL statements for ANSI compliance-anyerr Set status variable after expressions-globcurs Make cursor definitions global to program-localcurs Make cursor definitions local to module (default)-nokeep Delete intermediate .4ec, .ec, and .c files (default) -keep Keep intermediate .4ec, .ec, and .c files-linenos Produce #line numbering in .c file (default)-nolinenos Suppress #line numbering in .c file-static Use static libraries-shared Use dynamic linking and shared libraries-otherargs Other arguments are passed to the C compiler-o Next argument is name of executable8.$esql <*.ec>; <Return>;使用方法: esql [-e] [-static] [-shared] [-esqlcargs] [-otherargs][-o outfile] [-libs] esqlfile.ec[othersrc.c...] [otherobj.o...] [-lyourlib...] 开关参数使用说明-e Preprocess only, no compilation or linking-static Use informix static libraries.-shared Use informix shared libraries ( default is shared).-esqlcargs esqlc arguments (-g, -G, -nln, -Ipathname, -nowarn, -V, -ansi ,-xopen, -local, -log, -EDname, -EUname, -icheck)-otherargs Other arguments are passed to cc-o Next argument is program name-libs Display the list of libraries used by esql at link time.9.dbexport,dbimport,dbschema,ontape数据库后备工具:dbexport以文本形式卸出数据库文件(Table、View、Procedure、Trigger等)dbexport <Dbname>; 或 dbexport <Dbname>; –t /dev/rStp0 –s –bdbimport以文本形式上载数据库文件(Table、View、Procedure、Trigger等)dbimport <Dbname>; -d workdbs –l buffereddbschema 以文本形式卸出数据库的建表、建过程的SQL文件dbschema –d <Dbname>; -t <Tabname|all>; -ss <Filename>; 卸出指定表或所有表dbschema –d <Dbname>; -f <Procname|all>; -ss <Filename>; 卸出指定过程或所有过程ontape 数据库系统备份工具ontape –s –B <Dbname>; 为指定数据库恢复Buffered日志第三章 Informix-SQL Version 6.05.UD1 应用一.有关数据库,基表,索引的创建与删除1.语法约定:<......>; 表示必选项{......} 表示必选其中项[......] 表示可选项(......) 表示语句的一部分| 表示多项选一大写[A-Z] 表示Informix的保留字小写[a-z] 表示Informix的库名,表名,字段名,变量名2.数据库(Database):①.创建一个DB:CREATE DATABASE <DB name>; [WITH BUFFERED LOG] └─┴→语法关键字└→数据库名└→是否带数据库日志创建一个DB同时也打开了这个DB②.数据库命名规则:㈠.数据库名不超过10个字符.㈡.必须以字母打头,其余部分可以是字母,数字,下划线的任意组合.㈢.在同一数DB Server(据库服务器)中数据库名应具有唯一性.㈣.数据库名不得是Informix的保留字3.数据库基表(Table):①.创建一个DB Table:DATABASE <DB name>; →数据库名CREATE TABLE <TB name>; →数据库表名字段名称字段类型字段说明(column0 serial(1) , #有序整数型,其初始值为1column1 integer , #从-2147483647到+2147483647之间的整数column2 smallint , #从-32767到+32767之间的整数column3 float default 0.00 not null,#双精度浮点数column4 smallfloat , #单精度浮点数column5 decimal(m,n), #具有可定义精度的数字(左边m-n位,右边n位) column6 money(m,n) , #与decimal型相同(货币型)column7 date , #日期型column8 datetime year to second,#日期时间型(1999-09-07 09:52:52) column9 char(n) , #字符型 n表示字符长度column10 varchar(n) , #字符型(最后一个字段无逗号)check (字段名 in(值1,值2,值3) constraint 名称,primary key(字段1,字段2,字段n) constraint 名称 ##主键唯一,非空);数据类型字段长度CHAR语句中定义的长度VARCHAR语句中定义的长度SMALLINT2个字节INTEGER4个字节SMALLFLOAT4个字节FLOAT8个字节SERIAL4个字节DATE4个字节DATETIME8个字节(Year to Second),其它为4DECIMAL(m,n)依赖精度(m/2+1四舍五入到下一整数)MONEY(m,n)依赖精度(m/2+1四舍五入到下一整数)②.基表命名规则:㈠.表名最多不超过18个字符,除此以外与数据库命名规则雷同.㈡.必须以字母打头,其余部分可以是字母,数字,下划线的任意组合.㈢.在同一数据库中表名应具有唯一性.㈣.表名不得是Informix的保留字.㈤.表中字段名不得超过18个字符,定义like table.* 必须保证前8个字符的唯一性。

相关文档
最新文档