INFORMIX-ESQL/C介绍
Informix SQL 语句详解

Informix SQL 语句详解Informix SQL 语句详解(1)1. 创建数据库:CREATE DATABASE database_name [WITH LOG IN “pathname”]database_name:数据库名称。
“pathname”:事务处理日志文件。
创建一database_name.dbs目录,存取权限由GRANT设定,无日志文件就不能使用。
BEGIN WORK等事务语句(可用START DATABASE 语句来改变)。
可选定当前数据库的日志文件。
如:select dirpath form systables where tabtype = “L”; 例:create databse customerdb with log in “/usr/john/log/customer.log”;2. 选择数据库:DATABASE databse-name [EXCLUSIVE]database_name:数据库名称。
EXCLUSIVE:独占状态。
存取当前目录和DBPATH中指定的目录下的数据库,事务中处理过程中不要使用此语句。
例:dtabase customerdb;3. 关闭当前数据库:CLOSE DATABASEdatabase_name:数据库名称。
此语句之后,只有下列语句合法:CREATE DATABASE;DATABASE;DROP DATABSE;ROLLFORWARD DATABASE;删除数据库前必须使用此语句。
例:close database;4. 删除指定数据库:DROP DATABASE database_namedatabase_name:数据库名称。
用户是DBA或所有表的拥有者;删除所有文件,但不包括数据库目录;不允许删除当前数据库(须先关闭当前数据库);事务中处理过程中不能使用此语句,通过ROLLBACK WORK 也不可将数据库恢复。
例:drop databse customerdb;5. 创建表或临时表:CREATE [TEMP] TABLE table-name (column_name datatype [NOT NULL], …) [IN “pathname”]table-name :表名称。
Informix数据库SQL介绍

Informix数据库SQL介绍INFORMIX SQL 介绍⼀、简介:1)、INFORMIX主要产品分为三⼤部分:; 数据库服务器(数据库核⼼); 应⽤开发⼯具; ⽹络数据库互联产品2)、数据库服务器有两种,作⽤都是提供数据操作和管理:; SE:完全基UNIX操作系统,主要针对⾮多媒体的较少⽤户数的应⽤; ONLINE:针对⼤量⽤户的联机事务处理和多媒体应⽤环境3)、应⽤开发⼯具是⽤以开发应⽤程序必要的环境和⼯具,主要也有两个系列:; 4GL:INFORMIX传统的基字符界⾯的开发⼯具,该系列的主要产品有五个,他们是I-SQL、4GL RDS、4GL C COMPILER、4GL ID和ESQL/C;; NewEra:INFORMIX最新提供的具有事件驱动能⼒、⾯向对象的基各种图形界⾯的开发⼯具。
4)、INFORMIX的⽹络数据库互联产品:提供给⽤户基多种⼯业标准的应⽤程序接⼝,通过它可以和其它遵守这些⼯业标准的数据库联接。
⼆、I-SQL菜单简介:Form可以执⾏、创建、修改、编译屏幕格式或删除已存在的屏幕格式Run执⾏某⼀已经存在的屏幕格式Modify修改指定的已经存在的屏幕格式Generate 为指定的表创建⼀个缺省的屏幕格式Compile编译⼀个制定的屏幕格式New创建特定的⽤户屏幕格式Drop删除某已经存在的格式⽂件Exit退出Form菜单Report 可以执⾏、建⽴、修改、编译、或删除报表Run执⾏某⼀报表Modify修改指定的报表Generate 为某⼀个表建⽴⼀个缺省的报表New建⽴⼀个⽤户指定的报表Compile编译指定的报表Drop删除⼀个指定的已经存在的报表Exit退出Report菜单Query-Language详见实⽤程序说明:dbaccessUser-menu 可以执⾏、建⽴或修改⽤户建⽴的菜单Run执⾏当前数据库的⽤户菜单Modify允许⽤户建⽴或修改⽤户菜单Exit退出User-menu菜单Database详见实⽤程序说明:dbaccessTable详见实⽤程序说明:dbaccessExit退出实⽤程序isqlrf(或isql)三、常⽤操作:; 创建数据库ISQL==》DATABASE==》CREATE==》输⼊新建数据库名称; 创建表ISQL==》TABLE==》CREATE==》输⼊欲建的表名==》ADD==》输⼊欲建的字段名及类型等==》EXIT==》BUILD-NEW-TABLE; ⽣成缺省表格式ISQL==》FORM==》GENERATE=》选择数据库==》输⼊表格式名称==》选择表==》TABLE-SELECTION-COMPLETE-----》编译成功==》RUN四、使⽤RDSQL(交互式查询语⾔)编写SQL语句⽅法:ISQL==》Query Langavage==》NEW==》RUN; 建⽴数据库CREATE DATABASE数据库名; 建表(格式及可选数据类型)基本格式:CREATE TABLE表名(字段名类型,字段名类型,---字段名类型);详细定义:CREATE TABLE表名(COL1INTEGER NOT NULL,COL2CHAR(2)CHECK ( COL2IN (“??”,“??”),COL3DATE DEFAULT TODAY,COL4SMALLINT UNIQUE,---字段名类型)FRAGMENT BY ROUND ROBIN (BY EXPRESSION)IN DB1,DB2EXTENT SIZE 1000 NEXT SIZE 600WITH NO LOG (LOG;BUFFERED LOG;LOG MODE ANSILOCK MODE ROW(PAGE);例1:CREATE TABLE ORDERS(ORDER_NUM INTEGERUNIQUE CONSTRAINT ORDER_NUM_UQ,ORDER_DATE DATENOT NULL CONSTRAINT ORDER_DA TE_NNDEFAULT TODAY ;例2:CREATE TABLE CUSTOMER (CUSTOMER_NUM SERIAL,FNAME CHAR(20),PRIMARY KEY (CUSTOMER_NUM)CONSTRAINT PK_CNUM);CREATE TABLE ORDERS (ORDER_NUM SERIAL,CUSTOMER_NUM INTEGER,FOREIGN KEY (CUSTOMER_NUM)REFERENCES CUSTOMERCONSTRAINT FK_CNUM);数据类型:字符型(CHAR(20)),V ARCHAR(MINSIZE, MAXSIZE)数值型(六种,DECIMAL(16,2),SMALLINT,INTEGER,SMALLFLOAT,FLOAT,SERIAL ) ⽇期型( DATE,默认格式为:MM/DD/YYYY )**要修改DATE类型的缺省格式, 只要在⽤户主⽬录的.profile⽂件中做如下说明: DBDATE=Y4MD/EXPORT DBDA TE**货币型(MONEY (8,2))其它(如:INTERV AL,DA TETIME等); 建⽴索引(必须建⽴命名索引)CREATE[ UNIQUE ]INDEX索引名ON表名(字段名)CREATE[ UNIQUE ]INDEX索引名ON表名(字段名)DISABLED;SET INDEXES索引名ENABLEDDROP INDEX索引名; 数据库权限CONNECT:访问数据库RESOURCE:允许⽤户建⽴或清除数据库中的表和索引DBA:数据库管理员,所有权限,⼀般建表者即为DBAGRANT权限TO〈PUBLIC | ⽤户名〉REVOKE权限FROM〈PUBLIC | ⽤户名〉; 检索数据库DA TABASE数据库名SELECT * FROM表名SELECT字段名,字段名FROM表名SELECT字段名,字段名+-*/新字段名FROM表名SEKECT A VG(字段) ,MIN(),MAX(),SUM(),COUNT()FROM表名WHERE⼦句 =〈〉!=< <=>>=MATCHES* 0多个? 单个[ ] 单个字符或⼀个范围\ 转义下⼀个字符LIKE %:0--多个 _ 单个\ 转义下⼀个特殊字符ORDER BY(DESC)时间函数: DAY MDY MONTH WEEKDAY YEAR DATE CURRENT其它函数:LENGTH USER CURRENT TODAY从多个表中查找, SELECT嵌套字段名不同可直接写出,若不同表中有相同字段名,则前缀表名SELECT表⼀.字段名FROM表⼀, 表⼆向表中插⼊数据INSERT INTO表名 [ 列1, 列2。
c语言和INFORMIX数据库

Linux系统下C语言编程—怎么向INFORMIX数据库插入数据就是先定义一个结构,给结构赋值,然后把结构里的数据放到informix数据库里面是在UNIX系统下面完成的,知道的朋友能不能给我讲讲。
主要是结构里面的东西怎么往表里面写。
在UNIX下面,用ESQL编程,和C也差不多,就是往里插入SQL语句也可以像C一样的定义变量。
用ESQL/C编程概述使用informix-esql/c语句的C程序通常包括下列元素,本章将逐一讲述:head files头文件include files包含文件host variables宿主变量indicator variables指示变量SQL语句在程序中也可以包含动态定义的语句,将在第九章讲述。
本章提供了下列主题的详细说明:1在esql/c程序中使用头文件2对esql/c提供预处理3在C程序中嵌入SQL语句4识别C变量5处理与编译C程序********************在C程序中嵌入SQL语句SQL语句用$符号或EXEC SQL关键字嵌入到C程序中,使用关键字与ANSI标准一致。
esql/c中的大小写敏感性informix-esql/c预处理器对变量名的大小写不敏感。
由PREPARE语句产生的语句id号和由DECLARE语句产生的游标名默认是不敏感的。
如果希望预处理器对游标名和语句id大小写敏感,可以在esql的命令行中加入-cs参数。
*插入注释你可以用双减号作为注释符号在任何的INFORMIX-ESQL/C行中加入注释。
注释持续到一行的结束。
同时也可以在INFORMIX-ESQL/C行中使用标准的C注释。
如:----------------------------------------------------$database stores5; -- stores5 database is open now!printf("\nDatabase opened\n"); /* This isn’t an ESQL/C line*//* so it needs a regular C notation for a comment*/$begin work; /*You can also use a C comment here*/---------------------------------------------------头文件随informix-esql/c提供有几个头文件,均位于$INFORMIXDIR的/incl子目录下,说明如下:sqlca.h包含有存储了错误状态代码的结构。
8.ESQL/C程序中的SQL通讯区

第八章在ESQL/C程序中使用SQL通讯区融本章讲述程序中的一个特别区域的组成,该区域称为SQL通讯区或SQLCA。
本章还讲述如何使用它提供的信息。
融执行完一条SQL语句之后,数据库服务器把返回的信息送到程序中的一个称为SQL通讯区或SQLCA的区域中。
返回的信息把SQL 请求执行的状态反馈给用户。
返回信息可以这样分类:●最近执行的SQL语句的完成状态●有关性能的信息●有关可能发生或已经发生的事情的警告SQLCA是一个数据结构,它是用户的数据段的一部分。
当使用esql 来编译用户的源文件时,它会被自动包含进来。
SQLCA在sqlca.h头文件中定义。
融SQLCA是一个全局的预定义好的结构,它用来存放有关SQL语句执行的信息。
当使用esql来编译源文件时,SQLCA自动包含进来。
SQLCA有五个主要的域—long sqlcode 状态指示器char sqlerrm[72] 错误消息参数(表字段或任何其它的对象),特定于错误消息char sqlerrp[8] 目前未用long sqlerrd[6] 有关数据属性和性能的信息struct sqlwarn 数据异常和其它警告这些域随后讨论。
融sqlca结构的sqlcode域是最近执行的SQL语句的状态。
执行SQL 语句完毕,应当检测它的值,如果不是预定值,则采取相应的措施。
它的值可以是下面的值:<0 发生错误=0 执行成功,没有错误=1:99 该值依赖于动态SQL语句中SQL语句的有关执行的设置(参见提高ESQL/C程序的运行效率一章) =100 语句执行正确,但没有找到记录;预定义的SQLNOTFOUND的值是100数据库服务器在下面这些情况下返回值SQLNOTFOUND—●查询一条记录,但未能找到●查询多条记录时,执行fetch操作时超出了多条记录集合的范围●在ANSI-模式的数据库中,执行delete、insert...select、select...intotemp或update操作时,没有记录能满足WHERE子句的条件。
第一章 INFORMIX ESQL

第一章 INFORMIX ESQL/C概述INFORMIX ESQL/C是数据库应用程序开发工具之一,它以它独有的灵活性、易学易用性,在众多数据库应用程序开发产品中占有一席之地。
INFORMIX ESQL/C就是在C语言程序中直接嵌入SQL语句,这样做的目的是使得使用C 语言开发应用程序的开发者能方便的访问数据库,开发出满足各种要求的数据库应用程序。
那么,它与其它INFORMIX开发工具比较有什么特点呢?首先,INFORMIX ESQL/C程序的开发没有一个菜单式的开发界面。
如INFORMIX-4GL程序的开发有一个包含屏幕格式、模块、程序各部分编辑、编译及运行的菜单界面。
而INFORMIX ESQL/C是通过编辑工具如vi等来进行编辑的。
其次,INFORMIX ESQL/C开发需要一个预处理器来进行程序的预编译。
INFORMIX ESQL/C 的编译命令是esq1,它完成预编译、编译、链接、生成可执行文件等工作。
预处理器所做的工作是将ESQL/C的代码转换成C的代码,再调用C的编译器来处理C程序代码。
INFORMIX公司对ESQL/C程序的开发有强劲的支持。
在ESQL/C中不仅可以使用INFORMIX 提供的预编译命令,还可调用INFORMIX提供的库函数和头文件。
1.1 ESQL/C对ANSI标准的扩充ESQL/C V4.0中的SQL语言与ANSI Level Ⅰ的SQL标准完全兼容,与ANSI LEVELⅡ的SQL标准大部分兼容。
INFORMIX-ESQL/C除完全包括标准的SQL语言的语句外,还对其进行了扩充,增加了一些没有的语句,增强了一些已有语句的功能。
下表列出了所有不符合ANSI语法的ESQL/C的语句。
ALTER INDEX DROP VIEWALTER TABLE FLUSHBEGIN WORK FREECLOSE DATABASE GRANTCREATE AUDIT LOCK TABLECREATE DATABASE PUTCREATE INDEX RECOVER TABLECREATE SYNONYM RENAME COLUMNCREATE TABLE RENAME TABLECREATE VIEW REVOKEDATABASE ROLLFORWARD DATABASEDROP AUDIT SET EXPLAINDROP DATABASE SETLOCK MODEDROP INDEX START DATABASEDROP SYNONYM UNLOCK TABLEDROP TABLE UPDATE STATISTICS表中所列的语句有:建立和修改数据库模式的语句、与INSERT游标有关的语句、与事务及跟踪有关的语句等等。
INFORMIX 数据库资料

INFORMIX数据库技术目录数据库对象数据块——————————————————4 数据空间—————————————————4 数据库——————————————————4 数据表——————————————————4 索引———————————————————6 视图———————————————————7 查询———————————————————7 存储过程—————————————————8 触发器——————————————————10 组合———————————————————11性能调节语句分析Set Isolation ———————————————11 Set Optimization —————————————11 Set Pdqpriority ——————————————12 Set Lock Mode ——————————————12 Set Log —————————————————12 Lock Table ————————————————12 Set Transaction ——————————————12常用命令Set Explain ———————————————12Unload to ————————————————12 Load ——————————————————12常用实用程序onmonitor ————————————————13 dbaccess ————————————————13 dbschema ————————————————13dbexport、dbimport ———————————13onstat ————————————————13oncheck ————————————————13onmode ————————————————13其他—————————————————13Esql语法头文件的引用———————————————13嵌入式语法————————————————13执行动态语句———————————————14游标使用分析———————————————15ESQL数据类型——————————————19UNIX编译命令——————————————20环境和配置文件sqlhosts ------------------------------- 20系统安全------------------------------------------ 21配置文件(onconfig) ---------------------------------- 211 ADTERR ---------------------------------------- 212 ADTMODE -------------------------------------- 213 ADTPATH ---------------------------------------- 214 ADTSIZE ----------------------------------------- 215 AFF_NPROCS ----------------------------------- 226 AFF_SPROC ------------------------------------- 227 MULTIPROCESSOR ---------------------------- 228 NUMCPUVPS ------------------------------------- 229 NUMAIOVPS ------------------------------------- 2210 SINGLE_CPU_VP --------------------------------- 2311 ALARMPROGRAM ------------------------------- 2312 CONSOLE ---------------------------------------- 2313 MSGPATH ---------------------------------------- 2314 BUFFERS ---------------------------------------- 2315 SHMADD ---------------------------------------- 2416 SHMBASE --------------------------------------- 2417 SHMVIRTSIZE ---------------------------------- 2418 SHMTOTAL -------------------------------------- 2419 STACKSIZE -------------------------------------- 2420 CHUNKS ----------------------------------------- 2521 DBSPACE ---------------------------------------- 2522 DBSPACETEMP --------------------------------- 2523 TBLSPACES -------------------------------------- 2524 ROOTNAME-------------------------------------- 2625 ROOTOFFSET ------------------------------------ 2626 ROOTPATH --------------------------------------- 2627 ROOTSIZE----------------------------------------- 2628 SERVERNUM ------------------------------------- 2629 DBSERVERNAME -------------------------------- 2730 DBSERVERALIASE ------------------------------ 2731 NETTYPE ---------------------------------------- 2732 MIRROR ----------------------------------------- 2733 MIRRORPATH ----------------------------------- 2834 MIRROROFFSET -------------------------------- 2835 LOGFILES -------------------------------------- 2836 LOGBUFF ---------------------------------------- 2837 LOGSIZE ----------------------------------------- 2938 LOGMAX ---------------------------------------- 2939 DUMPDIR --------------------------------------- 2940 DUMPCNT -------------------------------------- 2941 DUMPCORE ------------------------------------- 2942 DUMPGCORE ------------------------------------ 2943 DUMPSHMEM ----------------------------------- 3044 TAPEDEV ---------------------------------------- 3045 TAPEBLK ---------------------------------------- 3046 TAPSIZE ---------------------------------------- 3147 LTAPEDEV -------------------------------------- 3148 LTAPEBLK -------------------------------------- 3149 LTAPESIZE -------------------------------------- 3150 CHPTINTV AL ------------------------------------ 3151 CLEARNERS ------------------------------------- 3152 DATASKIP ---------------------------------------- 3253 NOAGE -------------------------------------------- 3254 FILLFACTOR -------------------------------------- 3255 OPTCOMPIND ------------------------------------ 3256 RESIDENT ----------------------------------------- 3357 STAGEBLOB --------------------------------------- 3358 TXTIMEOUT -------------------------------------- 3359 USEOSTIME -------------------------------------- 3360 TRANSACTIONS ------------------------------ ----- 3361 LOCKS ------------------------------------------ 3462 DEADLOCK_TIMEOUT ------------------------- 3463 USERTHREADS ---------------------------------- 3464 PHYSDBS ---------------------------------------- 3565 PHYSFILE --------------------------------------- 3566 PHYSBUFF --------------------------------------- 3567 MAX_PDQPRIORITY ---------------------------- 3568 PDQPRIORITY ---------------------------------- 3669 DRAUTO ---------------------------------------- 3670 DRINTERV AL ----------------------------------- 3671 DRLOSTFOUND ----------------------------------- 3672 DRTIMEOUT ------------------------------------- 3773 DS_MAX_QUERIES ------------------------------- 3774 DS_MAX_SCANS --------------------------------- 3775 DS_TOTAL_MEMORY ---------------------------- 3976 LRUS ------------------------------------------- 3977 LRU_MAX_DIRTY ------------------------------- 3978 LRU_MIN_DIRTY --------------------------------- 4079 LTXEHWM --------------------------------------- 4080 LTXHWM ----------------------------------------- 4081 OFF_RECVRY_THREADS --------------------------4182 ON_RECVRY_THREADS ---------------------------- 4183 RA_PAGES ---------------------------------------- 4184 RA_THRESHOLD --------------------------------- 42一数据库对象分析:数据库对象的建立,修改与删除操作一般不应放在一个事务中,它的执行会自动导致提交动作,将破坏事务的完整性。
INFORMIX数据库操作及SQL语法

编号:TN-070101001TIENON数据库培训教程INFORMIX基本操作及SQL语法2007年1月,V 1.00目录1、引言 (5)1.1、读者对象 (5)1.2、内容简介 (5)1.3、课程时间 (5)1.4、课程目标 (5)2、数据库基本概念...........................................................错误!未定义书签。
2.1、从身边的例子了解数据库......................................................... 错误!未定义书签。
2.2、数据库系统概述......................................................................... 错误!未定义书签。
2.2.1、数据库的产生................................................... 错误!未定义书签。
2.2.2、数据库系统组成................................................. 错误!未定义书签。
2.2.3、与数据库相关的软件系统......................................... 错误!未定义书签。
2.2.4、数据库系统特点................................................. 错误!未定义书签。
2.2.5、数据库系统的历史............................................... 错误!未定义书签。
2.2.6、数据库系统的发展趋势........................................... 错误!未定义书签。
2.2.7、数据库的分类................................................... 错误!未定义书签。
informix编程简介

目录一、概述 (3)二、informix-esql/c宿主变量 (3)2.1 常用informix变量类型 (3)2.2 宿主变量的定义 (3)三、informix-esql/c头文件的处理 (4)四、嵌入式的SQL语句 (4)4.1 对数据库的操作 (4)(1)database (4)(2)close ............................................................................................................. database4(3)create database (4)(4)drop database (4)4.2 对数据库表的操作 (5)(1)create table (5)(2)dorp table (5)(3)rename table (5)(4)alter table (5)(5)select (6)(6)insert (7)(7)update (8)(8)delete (8)五、游标 (9)5.1 Declare (9)5.2 Open (10)5.3 Fetch (10)5.4 Close (10)六、事务处理 (11)6.1 begin work (11)6.2 commit work (11)6.3 rollback work (11)七、控制处理 (11)7.1 解决锁资源冲突, (11)八、监控命令简介 (12)8.1 informix-online的工作状态 (12)8.2 informix-online状态的切换 (12)8.3 常见系统阻塞原因 (12)8.4 监控informix-online的运行状态 (12)i n f o r m i x-o n l i n e编程简介一、概述informix-online是一种功能强大的关系型数据库系统,其esql/c提供了嵌入式的C语言编程接口,informix-online dynamic server 7.22 for unix具有以下特点:(1)采用client/server模式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章INFORMIX-ESQL/C简介
融海咨询
本章介绍INFORMIX-ESQL/C产品和它在Informix提供的应用程序开发工具集中所处的地位。
介绍INFORMIX-ESQL/C的总体概貌,使你了解该产品在应用开发过程中所起的作用。
介绍随INFORMIX-ESQL/C产品所带的示例数据库。
简短地回顾一下特定于INFORMIX的环境变量,使用户可以设置自己的环境来使用INFORMIX-ESQL/C。
融海咨询
INFORMIX-ESQL/C是一个应用开发工具,它使得构建应用程序的C程序员拥有一个访问Informix数据库的接口。
开发人员使用库、头文件和预编译器来直接在C程序中嵌入SQL 语句。
INFORMIX-ESQL/C具有众多的组织成库形式的例程来帮助用户—
●使用所有的SQL数据类型
●解释状态消息
●使用Informix子进程
INFORMIX-ESQL/C有时简称为ESQL/C。
在本教程中,几乎无一例外地使用后一种称呼。
融海咨询
在使用ESQL/C之前,必须设置好下面的环境变量:
INFORMIXDIR INFORMIX- ESQL/C所位于的目录
PATH 执行程序的搜索路径
用户可以在系统提示符下或在.profile( B shell )文件或.login( C shell )文件中设置这些变量。
如果是在系统提示符下设置环境变量,则用户每次登录时要重新设置它们。
如果是在.profile或.login文件中设置,则用户每次登录时,环境变量会自动被设置。
使用Bourne shell时,设置环境变量如下:
INFORMIXDIR=usr/informix/; export INFORMIXDIR
PATH=$INFORMIXDIR/bin:$PATH; export PATH 使用C shell时,设置如下:
setenv INFORMIXDIR /usr/informix
setenv PATH ${INFORMIXDIR}/bin:${PATH}当用户运行INFORMIX-OnLine时,还应当把环境变量SQLEXEC 设置为$INFORMIXDIR/lib/sqlturbo,把环境变量TBCONFIG设置为合适的值。
运行INFORMIX-NET、INFORMIX-STAR或INFORMIX-OnLine时,可能还有其它的环境变量需要设置。
融海咨询
ESQL/C与Informix其它的应用开发工具相比较稍有不同。
与INFORMIX-4GL、INFORMIX-SQL、WINGZ和SMART- WARE不同的是,ESQL/C 提供给开发人员的界面不是菜单驱动的。
ESQL/C同C代码、INFORMIX-S QL’s Ace或Perform一起使用。
ESQL/C预处理器
ESQL/C的一个主要部件就是它的预处理器。
预处理器在把C的源代码送给C编译器处理之前,把ESQL/C代码转换成C代码。
预处理命令从命令行启动,启动时可以有各种不同的参数来说明源文件、预期的结果文件,等等。
ESQL/C预处理器将在其它章节里详细讨论。
在本培训手册中,预处理器的名字为—esql。
ESQL/C 带了一个示例数据库stores5,该数据库中存放的是一个虚构的运动器材批发商有关的信息。
当示例数据库被创建时,使用ESQL/C 的示例源代码也随之被创建。
在练习使用ESQL/C 之前,用户应当建立自己的stores5数据库的拷贝。
1.创建一个子目录,用来存放ESQL/C 的例子源文件,输入如下: %mkdir demo %cd demo
2.现在,输入下面的命令(输入时,把DbName 替换成你所使用的
stores5数据库名): %esqldemo5 DbName
当用户使用自己的stores5数据库拷
贝时,可以进行任意的修改。
如果用户想刷新数据库拷贝,只要再次运行esqldemo5,将删除现有的数据库拷贝,并按初始的情形下创建一个新的数据库拷贝。