informix数据库操作实例

合集下载

informix调用存储过程返回多列的方法

informix调用存储过程返回多列的方法

informix调用存储过程返回多列的方法在Informix数据库中,要调用存储过程并返回多列数据,可以使用以下方法:方法一:使用SELECT语句在存储过程中返回结果集。

您可以在存储过程中定义一个或多个游标来返回多列数据。

这样,您可以在存储过程中执行SELECT语句,将结果放入游标中,然后在调用存储过程的代码中检索并处理这些结果。

以下是一个示例:```sqlCREATE PROCEDURE myProcedure()RETURNING INT, VARCHAR(50);DEFINE p_id INT;DEFINE p_name VARCHAR(50);-- 执行SELECT语句并将结果存入游标DECLARE cur CURSOR FOR SELECT id, name FROM myTable;OPEN cur;-- 使用FETCH语句获取游标中的数据FETCH cur INTO p_id, p_name;WHILE SQLCODE = 0 DO-- 在此处处理获取到的数据-- ...-- 获取下一行数据FETCH cur INTO p_id, p_name;END WHILE;-- 关闭游标CLOSE cur;END PROCEDURE;```您可以在调用存储过程时使用"INTO"子句来捕获游标返回的值,如下所示:```sqlDEFINE p_id INT;DEFINE p_name VARCHAR(50);-- 调用存储过程并将结果存入变量EXECUTE PROCEDURE myProcedure() INTO p_id, p_name;-- 在此处可以使用变量p_id和p_name进行处理-- ...```方法二:使用OUT参数返回多列数据。

您可以在存储过程中定义一个或多个OUT参数,并在存储过程内部对这些参数进行赋值。

然后在调用存储过程的代码中,可以获取这些参数的值并进行处理。

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数据库dbaccess工具执行SQL语句操作说明

Informix数据库dbaccess工具执行SQL语句操作说明

【文档名称】:Informix数据库dbaccess工具执行SQL语句操作说明【背景说明】部分工程经常要对数据库进行操作,而各省客服及驻点同事对相关操作不熟悉,现整理一份实用的操作说明。

【适用范围】适用设备:Informix-9.4,Informix-11.5【文档正文】1)用informix账户登录操作系统,在开始菜单中打开“ol_实例名”。

2)直接输入dbaccess并回车。

选择Connection,然后选择Connect。

3)选择数据库实例。

一般只有一个,直接回车即可。

4)输入用户名informix,回车。

5)输入数据库密码,回车。

6)下方提示已连接。

7)直接按回车,然后选择Exit回车。

8)选择第一个Query-language回车。

9)选择Use-editor回车。

10)直接回车,默认用记事本打开编辑器。

11)将SQL语句粘贴到记事本。

12)关闭,选择保存,然后选择Run,回车,查看返回结果是否成功。

常用SQL语句:1、导出某张表。

(需注意当前用户对该目录是否有写入权限,否则会导出失败)unload to 'C:\_analarmtype' select * from _analarmtype; 导出_analarmtype表并保存到C盘根目录。

2、删除某张表。

delete from _analarmtype;3、导入某张表。

load from 'C:\ _analarmtype ' insert into _analarmtype;4、查询某张表的条目数。

select count(*) from analarmhis; 查询历史告警条目数select count(*) from ancurrentalarm; 查询当前告警条目数DBACCESS基本讲解.doc。

Informix数据库配置详细解说-电脑资料

Informix数据库配置详细解说-电脑资料

Informix数据库配置详细解说-电脑资料1.配置概述本次数据库配置将采用数据库系统、数据库日志和数据库应用系统数据分开进行配置,以达到数据库系统优化的目的,。

2.营销系统数据库配置示例2.1 规划数据库空间根据配置的思想,将数据库系统分三个区。

分别是:rootdbs:informix系统区,我们将一号机的e1_1dbs4分配给它,为了便于记忆我们将该区取个名为yxroot。

具体操作为:#ln/dev/re1_1dbs4/dev/yx_root#chowninformix:informix/dev/yx_root#chmod664/dev/yx_rootlogdbs:informix日志区,我们将一号机的e1_1dbs5分配给它,为了便于记忆我们将该区取个别名为yx_log。

具体操作为:#ln/dev/re1_1dbs5/dev/yx_loG#chowninformix:informix/dev/yx_loG#chmod664/dev/yx_logworkdbs:informix数据区,我们将一号机的e1_1dbs0到e1_1dbs3分配给它,为了便于记忆我们将该区取个别名为yx_work。

具体操作为:#ln/dev/re1_1dbs0/dev/yx_dbs0#ln/dev/re1_1dbs1/dev/yx_dbs1#chowninformix:informix/dev/yx_dbs?#chmod664/dev/yx_dbs?2.2 Informix系统参数配置informix系统参数配置文件由如下文件决定:2.2.1 Informix启动环境文件:start_yx 文件内容如下:echo"startdbserveronyx"INFORMIXDIR=/usr/informix exportINFORMIXDIRTBCONFIG=tbconfig.yxDBDATE=Y4MD/PATH=$PATH:$INFORMIXDIR/bin:. exportPATHMAILTBCONFIG2.2.2 Informix配置文件:$INFORMIXDIR/etc/tbconfig.yx $cd$INFORMIXDIR/etc$cptbconfig.stdtbconfig.yx$vitbconfig.yx修改相应参数:ROOTPATH /dev/yx_rootROOTSIZE 1000000TAPEDEV /dev/nullPHYSFILE 100000LOGSIZE 100000LOGFILES 3LOGSIZE 100000MSGPATH /usr/informix/online_yx.loG CONSOLE /dev/consoleSERVERNUM 0DBSERVERNAME XXclic_yx#注:XX:按各地市名称来取#福州:fz 莆田:pt 泉州:qz 漳州:zz 龙岩:ly#三明:sm 南平:np 宁德:ndUSERS 300TRANSACTIONS 300LOCKS 200000BUFFERS 20000TBLSPACES 6000LOGSMAX 602.2.3 Informix网络连接配置文件:$INFORMIXDIR/etc/sqlhosts.yx该文件只有在C/S模式下和数据库联网才用到(略)2.3 Informix初始化操作:1.启动系统环境:以informix用户登录启动环境操作:#../start_yx2.初始化数据库系统区操作:tbinit-i3.创建数据库日志和工作区tbspaces–c–dyx_log–p/dev/yx_log–o0 –s870000tbspaces–c–dyx_work–p/dev/yx_dbs0 -o0 –s2000000tbspaces–ayx_work–p/dev/yx_dbs1 -o0–s20000004.移动数据库系统区的日志到新的数据库日志区a.在logdbs上生成逻辑日志,逻辑日志共取600M,每个日志100M,分6个。

informix多实例

informix多实例
# System Configuration
SERVERNUM 0 # Unique id corresponding to a OnLine instance
多个实例的SERVERNUM必须是不同的。
除此以外,onconfig文件中还有很多参数要针对第二实例修改的
========================================================
DBSERVERALIASES scp_onlineinst1_net # List of alternate dbservernames(修改)
NETTYPE # Configure poll thread(s) for nettype
第三个实例,你就看着办
2.在/etc/inet/services中添加端口,要不同于第一个实例的端口
如:sqlexec2 9876#instance2's protocol port
3.在第二个实例的onconfig文件中,指定Root Dbspace的路径;
ROOTPATH /diskarray/informix/linkdata/sys/rootdbs_chk_2g_01
ROOTNAME rootdbs # Root dbspace name
ROOTPATH /dev/rinst1rootdbs # Path for device containing root dbspace(实例要有自己的数据空间)
ROOTOFFSET 0 # Offset of root dbspace into device (Kbytes)
CONSOLE /dev/console # System console message path

Informix数据库的操作和维护手册

Informix数据库的操作和维护手册

Informix数据库的操作和维护手册概述Informix Dynamic Server (IDS) 作为一个先进的关系数据库管理系统,功能强大,性能优越,采用了DSA动态可伸缩体系结构,具有非常好的可伸缩性和适应性,它在我国许多行业,特别是金融、邮电等领域,都有广泛的应用.1informix数据库服务器运行方式1.1脱机方式:数据库服务器不运行时.未分配任何共享内存1.2静默方式:当数据库服务器进程正在运行并且已分配共享内存,但系统不允许数据库用户访问1.3联机方式:只有管理员(用户informix)可以访问该数据库服务器,用户可以与数据库服务器连接并执行说有数据库活动,这是数据库服务器的普通运行方式1.4维护方式:用户informix或用户root可以在数据库服务器联机时使用命令行实用程序更改许多数据库服务器ONCONFIG参数值2informix数据库的工作模式切换2.1从脱机到静默数据库服务器从脱机方式更改到静默方式时,数据库服务器讲初始化共享内存,数据库服务器处于静默方式时,任何会话都不可以获得对数据库服务器的访问权.操作命令(oninit –s)2.2从脱机到联机数据库服务器从脱机方式转到联机方式时,数据库服务器将初始化共享内存.数据库服务器处于联机方式时,它可用于所有数据库服务器会话.操作命令(oninit)2.3从静默到联机数据库服务器从静默方式到联机方式时,所有会话都将获得访问权操作命令(onmode –m)2.4缓缓从联机到静默数据库服务器缓缓从联机方式到静默方式以便在不中断当前处理的情况下限制对数据库服务器的访问.操作命令(onmode –s)2.5立刻从联机到静默将数据库服务器立刻从联机方式转到静默方式以便尽快限制对数据库服务器的访问,进行中的工作可能会丢失.操作命令(onmode –uy)2.6从任何方式立刻到脱机可以将数据库服务器立刻从任何方式转到脱机方式,数据库服务器将清除已由数据库服务器终止的所有会话,活动的事务将回滚.操作系统(onmode –ky)3informix数据库的磁盘管理物理结构IDS管理的主要是page,chunk逻辑结构IDS管理的主要是extent,tablespace,dbspace连续的page组成extent ,多个extent组成tablespace,dbspace用来逻辑的管理chunck而每个tablespace建立在dbspace上.3.1chunck一个单元的物理磁盘空间,在9,4版本之前不容许超过2G。

informix的数据类型和举例

informix的数据类型和举例

informix的数据类型和举例一. 内建的数据类型1. 数字相关1)INTEGER整型,范围为:-2147483647-21474836482)SMALLINT短整型,-32767-327673)BIGINT4)SERIAL、SERIAL8、BIGSERIAL这三种类型都会自动产生数据,并且用户可选择是否提供初始值.不同之处在于:SERIAL类型的数据占用4个字节的存储空间;SERIAL8类型的数据一般情况下占用10个字节的存储空间(在Extended Parallel Serv er中占用8个字节的存储空间);BIGSERIAL类型的数据占用8个字节的存储空间。

eg1. 创建一个表route_rule,它的主键rule_id是属于SERIAL自增类型的,参考建表语句如下:create table route_rule(rule_id serial not null,rule varchar(128) not null,action varchar(32) not null,route_arg varchar(32),primary key (rule_id) constraint PK_ROUTE_RULE);eg2. 如何查询serial型字段的当前值?5)DECIMAL(p,s)其中p是整个数据的有效位,s是小数点后位数,1<p<32,s可以为0。

不指定时默认为1 6位。

eg1:在如下实例中,创建了human_task_exp表,其中probability为双精度类型:create table human_task_exp(serviceid VARCHAR(30) not null,seconds INTEGER default0not null,probability DECIMAL(16,14) default0))6)FLOAT、SMALLFLOAT这两种类型的数据使用于不要求精度而要求量值的场合,如科学计算,FLOAT双精度数,通常占8个字节,有16位十进制有效位,而smallint为单精度数,占4字节,8位十进制有效位。

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数据库(增、删、改、查)操作

Informix数据库(增、删、改、查)操作
n owner species sex
Fluffy Harold cat
Clasws Gwen cat
Bowser Gwen dog
3 row(s) retrieved.
Sex列已经在pet表中了
接下来我们可以用update添加sex的属性值:
[test@datacenter ~]$ isql -s test<<!
现在用第三种发放“insert into表名字段values值”插入数据:
[test@datacenter ~]$ isql -s test<<!
> insert into pet (name,owner,species,sex) values ('Fluffy','Harold','cat','f')
> !
name owner species sex
Fluffy Haroldcat f
Clasws Gwen cat m
2 row(s) retrieved.
可以看见pet.txt文件中的命令已经插入到表pet中(第二行)。由于权限问题,不能进入菜单进行手动操作,故第二种方法在我的机器上不能进行。
第四种方法是把命令写进文件里,然后输入命令isql -s test<文件名,回车,现在我把命令写进pet.txt中:
[test@datacenter ~]$ isql -s test<<!
> alter table pet
> add sex char(1)
> !
Table altered.
查看一下:
[test@datacenter ~]$ isql -s test<<!

informix数据库的操作和维护

informix数据库的操作和维护

INFORMIX数据库的常用管理命令约定✧命令行中,<>括起来的内容不是实际要键入的内容,而是要键入的内容的说明。

✧命令行中,[]括起来的内容表示是可选项。

✧命令行中,a | b表示a或b选其中之一,为消除二义性,有时也用{a | b }表示。

✧命令行尾的\表示由于排版的限制一行写不下换到下一行,实际输入时可以不换行。

✧/* */括起来的斜体字表示注释。

1.简介INFORMIX-OnLine Dynamic Server(以下简称OnLine)提供了一个字符窗口界面的集成管理工具onmonitor,通过它可以完成除了数据备份外的大部分常用管理任务。

同时,OnLine还提供了一整套命令行管理工具,常用的有以下这些:命令功能oninit 启动OnLineonmode 改变模式和共享内存onstat 通过共享内存结构监视OnLine的操作状态oncheck 检查、修复、显示OnLine的磁盘结构ondblog 改变database的log方式onparams 修改逻辑和物理日志的配置参数onspaces 修改blobspace和dbspace的配置ontape 数据库备份和恢复工具onarchive 比ontape功能更强的备份和恢复工具dbexport 将整个database备份成文本文件格式dbimport 用文本文件格式的database备份重建databasedbschema 显示数据库、表的结构dbaccess 字符窗口界面的交互式SQL命令执行环境严格来说,最后四个命令不属于管理工具,但是因为在进行数据库管理时经常用到,所以也在此列出。

2.权限在Informix中,用户root和informix拥有最高的权限,可以执行所有的管理命令,可以查看所有database中的数据。

其次是属于informix组的用户,它们可以执行数据库server的启动和关闭等重要的管理命令。

其它不在informix组中的用户权限最低,只能执行一般的管理命令。

Informix创建数据库和用户

Informix创建数据库和用户

1.前提rmix安装。

rmix AdminTools安装。

3.clientsdk.2.90.TC1安装。

2.创建数据库a)打开数据库实例(命令行),“开始->程序->Informix Dynamic Server 9.40->XXX-name(实例名)”。

如下图:图 1 Informix 实例b)执行如下语句,创建数据库数据文件。

copy nul D:\ifmxdata\ol_limaoDB\testdbs_dat.000c)执行如下语句,创建数据库表空间。

onspaces -c -d testdbs -p d:\ifmxdata\ol_limaoDB\testdbs_dat.000 -o 0 -s 10000 执行后:图 2 创建数据库空间d)创建数据库。

启动dbaccess工具:图3启动dbaccess工具回车后,用键盘“上下左右键”,选择Database:图4选择Database 回车后,选择Create:图5选择Create回车后,输入数据库名:图6输入数据库名test回车后,选择创建数据库的类型Dbspace:图7选择Dbspace回车后,选择数据库所在的Dbspace,即我们刚创建的testdbs:图8选择test数据库所在的Dbspace 回车后,选择Exit。

再回车,选择Create-new-database:图9选择Create-new-database回车后,创建完成。

查看是否成功,选择Info:图10选择Database Info 回车后,选择Databases:图11选择Databases 查看我们刚创建的test数据库是否存在:图12查看test数据库3.创建用户。

a)由于Informix的用户管理机制是与操作系统用户管理绑定的,故新建Informix用户需要创建操作系统用户,然后将创建的用户增加到Informix-Admin用户组中。

b)创建计算机用户。

informix数据库操作实例

informix数据库操作实例

查看数据库实例名:dbacc‎e ss,然后选择database‎,在选择select,数据库名@‎符号后面的即为数据库实例名新建‎数据库:1、使用dbacces‎s进入informix交互环境‎2、选择Database,回车‎3、选择Create,回车4‎、输入数据库名:uniacctr‎,回车5、选择Dbspace‎(表空间),回车6、选择跟‎局数据数据库bureaudb一样‎的表空间,回车7、选择Log‎,回车8、选择Log,回车‎(选择日志模式,其他不支持事务)‎9、选择Exit,回车10‎、选择Create-new-d‎a tabase ,回车。

此时数‎据库应该已经建立。

查看某个数据‎库的表空间:1、使用dbac‎c ess进入informix交互‎环境2、选择Database‎,回车3、选择Select‎,回车4、选择局数据数据库b‎u reaudb,回车5、选择‎I nfo,回车6、选择dBS‎p ace,回车图中rootd‎b s位置显示的即是表空间关键字‎: dbschema工具:1)‎导出数据库中所有的表结构到文件d‎b.sql$>dbsche‎m a -d your_datab‎a se -t all db.s‎q l2)导出数据库中所有的存‎储过程到文件db.sql$‎>dbschema -d you‎r_database -f al‎l db.sql3)导出数据‎库中的所有对象(包含表,存储过程‎,触发器。

)到文件db.sq‎l $>dbschema -‎d your_database ‎d b.sql4)导出数据库中一‎个表的结构到文件db.sql‎$>dbschema -d y‎o ur_database_nam‎e -t your_table_‎n ame db.sql5)导出‎一个存储过程定义到文件db.sq‎l$>dbschema -‎d your_database_‎n ame -f your_pro‎c edure_name db.‎s ql6)如果导出更多的表的信‎息(EXTENT...)$‎>dbschema -d you‎r_database_name ‎-ss db.sql7)导出数‎据库中对用户或角色的授权信息‎$>dbschema -d y‎o ur_database_nam‎e -p all$>dbs‎c hema -d your_da‎t abase_name -r a‎l l8)导出数据库中的同义词‎ $>dbschema -d ‎y our_database_na‎m e -s all导出数据库表‎结构:dbschema -d‎database > data‎b ase.sqldbsche‎m a -t tablename ‎>tablename.sql‎-d表示导出整个数据库的表结构,‎-t表示导出某一个数据表的表结构‎。

Informix数据库安装(IBM机型)

Informix数据库安装(IBM机型)

1.创建informix组和用户1.为informix选择一个home目录,要保证该目录所在的文件系统有足够的空间安装Informix软件。

查看文件系统的剩余空间用df命令。

假设选定的informix 的home目录名为/home/informix。

2.用图形界面的管理工具或以下命令创建informix组和用户。

# groupadd informix# useradd –g informix –m –d /home/informix –s /bin/ksh informix –u 10011.修改informix的口令# passwd informix2.修改/home/informix/.profile,增加以下几行:INFORMIXDIR=/home/informixINFORMIXSERVER=hbscp1ONCONFIG=onconfigPATH=$PATH:$INFORMIXDIR/binLD_LIBRARY_PATH=$LD_LIBRARY_PATH:$INFORMIXDIR/lib:$INFORMIXDIR/li b/esqlexport INFORMIXDIR INFORMIXSERVER ONCONFIG PATHTERMCAP=$INFORMIXDIR/etc/termcapEXTSHM=ONexport EXTSHM TERMCAPKAIOON=1; export KAIOON2.安装JDKJDK 1.4分为32位和64位两种版本,所需的运行环境为AIX5.1或AIX5.2,AIX 5.1如需运行JDK1.4,必须补丁在ML02以上。

这两个版本,都可以在IBM网站https:///dl/dka/dka-p上找到,在该网站上需注册一个用户名才能下载。

从该网站上,可以下载到Java14.license.tar.gz和Java14.sdk.tar.gz两个包,可通过gzip解压缩(或Java14.license.tar和Java14.sdk.tar包),将这两个包通过tar展开到某目录下,运行#smit install选择Install Software选择文件集所在的目录,回车进入INPUT device / directory for software ------------/test* SOFTWARE to install ----------------------------[_all_latest]PREVIEW only? (install operation will NOT occur) ---noCOMMIT software updates? -------------------------- yesSAVE replaced files? ------------------------------ noAUTOMATICALLY install requisite software? ----------yesEXTEND file systems if space needed? ---------------yesOVERWRITE same or newer versions? ------------------noVERIFY install and check file sizes? -------------- noInclude corresponding LANGUAGE filesets? ---------- yesDETAILED output? -----------------------------------noProcess multiple volumes? --------------------------yesACCEPT new license agreements? ---------------------noPreview new LICENSE agreements? --------------------no在上述菜单中,SOFTWARE to install 选择Java14.sdk,不要选license包ACCEPT new license agreements? 选择yes,回车运行即可安装成功。

informix select语句创建表

informix select语句创建表

在Informix数据库中,您可以使用`SELECT`语句与`INTO`子句结合来从一个已存在的表中创建一个新的表。

以下是创建新表的示例:
```sql
SELECT *
INTO new_table_name
FROM existing_table_name
WHERE condition;
```
在这里:
* `new_table_name` 是您要创建的新表的名称。

* `existing_table_name` 是已存在的表的名称。

* `condition` 是可选项,用于筛选要从现有表中复制的行。

如果您省略此条件,将复制所有行。

例如,如果您有一个名为`employees`的表,并且您想从这个表中创建一个只包含年龄大于30的员工的表,您可以这样做:
```sql
SELECT *
INTO new_employees
FROM employees
WHERE age > 30;
```
这将创建一个名为`new_employees`的新表,其中包含所有年龄大于30的员工的数据。

请注意,这种方法将复制现有表的结构(包括列名和数据类型),但不复制索引、触发器或约束。

如果需要复制这些对象,您可能需要使用其他方法或工具来完成。

Informix常用操作方法命令

Informix常用操作方法命令

Informix常用操作方法北京先进数通信息技术有限公司编写说明标题:Informix常用操作方法类别:〔文档类别〕(文档/管理/纪要/制度/资料)存放位置:请键入完整文档路径\请键入完整文档名称编辑软件:Microsoft Word XP 中文版版本历史:目录编写说明 (1)目录 (I)1. 相关文件 (1)2. 常用环境变量 (1)3. 数据库状态操作 (2)3.1.查看数据库状态 (2)3.2.启动O N L INE (2)3.3.关闭O N L INE (3)4. DBACCESS使用 (3)4.1.数据库操作 (3)4.2.编辑执行SQL语句 (3)5. 装数/卸数 (4)6. 策略优化 (4)7. 脏读 (4)8. 增加事务 (4)9. ONSTAT用法 (5)1.相关文件●informix配置文件:informix配置文件定义数据库的各种参数设置,通过环境变量$ONCONFIG指定,存放在informix用户的etc目录下,如$ONCONFIG=onconfig.cmq,则配置文件为$INFORMIXDIR/etc/onconfig.cmq;●informix日志文件:记录对数据库的操作,以及操作过程中的错误日志等信息,存放在$INFORMIXDIR目录下,文件名为online.log,如对数据库操作出现异常,可查看该文件定位错误原因;●数据库连接文件:连接文件sqlhosts所含的信息使用户可以连接到数据库服务器上,存放在$INFORMIXDIR/etc目录下,一行为一条配置信息,每条包含四个域:【数据库服务器名】:定义数据库服务器名称,如on_compaq_tcp;【连接类型】:如ontlitcp;【主机名】:在/etc/hosts中定义,或直接写主机的IP;【服务名称】:在/etc/services中定义,或直接写端口号;2.常用环境变量●INFORMIXDIR:informix用户安装路径,如INFORMIXDIR=/usr/informix;●INFORMIXSERVER:informix数据库服务器名,如INFORMIXSERVER=on_compaq,数据库服务器名在数据库连接文件sqlhosts中指定;●ONCONFIG:informix配置文件,如ONCONFIG=onconfig.cmq,该文件存放在$INFORMIXDIR/etc目录下。

Informix创建数据库与用户

Informix创建数据库与用户

前提:Informix安装。

Informix AdminTools安装。

1.创建数据库test。

a)打开数据库实例(命令行),“开始->程序->Informix Dynamic Server 9.40->XXX-name(实例名)”。

如下图:图 1 Informix 实例b)执行如下语句,创建数据库数据文件。

copy nul D:\ifmxdata\ol_limaoDB\testdbs_dat.000c)执行如下语句,创建数据库表空间。

onspaces -c -d testdbs -p d:\ifmxdata\ol_limaoDB\testdbs_dat.000 -o 0 -s 10000 执行后:图 2 创建数据库空间d)创建数据库。

启动dbaccess工具:图3启动dbaccess工具回车后,用键盘“上下左右键”,选择Database:图4选择Database 回车后,选择Create:图5选择Create回车后,输入数据库名:图6输入数据库名test 回车后,选择创建数据库的类型Dbspace:图7选择Dbspace回车后,选择数据库所在的Dbspace,即我们刚创建的testdbs:图8选择test数据库所在的Dbspace 回车后,选择Exit。

再回车,选择Create-new-database:图9选择Create-new-database回车后,创建完成。

查看是否成功,选择Info:图10选择Database Info回车后,选择Databases:图11选择Databases查看我们刚创建的test数据库是否存在:图12查看test数据库2.创建用户。

a)由于Informix的用户管理机制是与操作系统用户管理绑定的,故新建Informix用户需要创建操作系统用户,然后将创建的用户增加到Informix-Admin用户组中。

b)创建计算机用户。

打开用户管理,右键“我的电脑”,选择“管理”。

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

INFORMIX -4GL 教程   的 入门 教材 数据库1-7
2.OPEN-FETCH-CLOSE 其實 foreach 當於 open 指標,fetch 資料和 close 指標和 FETCH 命令的 組合 A.OPEN 敘述:開啟一個先前 declare 過的指標 <語法格式> OPEN 指標名稱 [USING 變數串列] using 後的變數串列是程式串列,對應到 select 中的”?”參數 §例: DECLARE family_cursor CURSOR FOR
7-3 刪除的處理
<語法格式> DELETE FROM table_name [WHERE clause] §例: DELETE
FROM sfamilytab
§例:
file:///E|/erpdown/20100809(鼎捷)/易拓/Genero/NFORMIX-4GL的入门教材/1-7.htm[2010/8/10 19:39:28]
<語法格式二> UPDATE table_name SET table_name.* = record_name.* [WHERE clause] §例: UPDATE ssaltab SET ssaltab.* = curr_ssaltab.*
WHERE ssaltab.idno = curr_ssaltab.idno IF SQLCA.SQLCODE = 0 AND SQLCA.SQLERRD[3] > 0 THEN ERROR "更正成功" ELSE ERROR "更正失敗 !! ==> 請通知系統人員,謝謝" RETURN END IF
INSERT INTO sfamilytab VALUES(s_st[i].*)
IF SQLCA.SQLCODE != 0 OR SQLCA.SQLERRD[3] <= 0 THEN

Informix数据库常用操作命令

Informix数据库常用操作命令

Informix数据库常用操作命令Unix系统及数据库常用操作命令oninit 数据库启动onmode -ky 数据库关闭onstat -l 查看逻辑日志使用情况ontape -c 连续备份逻辑日志onstat -g iof 查看每个chunk 的I/O 情况onstat -g mem 查看数据库内存的情况onstat -d 查看数据库chunk 的使用情况ontape -s -L 0 数据库0 级备份dbimport <database> -d <dbspace> -i <dir> 数据恢复(硬盘)dbexport <database> -o <dir> 数据备份(硬盘)update staistics (high) (low) 数据库数据抽样统计ontape -r 数据恢复(磁带)onstat -c 配置情况onstat - 数据库状态信息ps –ef |grep cmcld 查看MC/Service Guard 进程cmviewcl 查看MC/Service Guard 运行情况cmruncl [ f ] 启动群集cmhaltcl [ -f ] 终止群集cmrunnode node 启动群集中的一个结点例:# cmrunnode HPK460-1 cmhaltnode mode 终止群集中的一个结点例:# cmhaltnode HPK460-1 cmrunpkg -n node pkg 在节点node 上运行pkg 包例:# cmrunpkg -n HPK460-1 pkg1 cmhaltpkg -n node pkg 在节点node 上终止运行pkg 包例:# cmhaltpkg -n HPK460-1 pkg1 cmmodpkg -e -n node pkg 允许在节点node 上运行pkg 包例:# cmmodpkg -e -n HPK460-1 pkg1cmmodpkg -d -n node pkg 禁止在节点node 上运行pkg 包例:# cmmodpkg -d -n HPK460-1 pkg1cm 系列命令,均可附加参数“-v”,以冗余模式显示执行结果;参数“-f”表示强制执行而忽略错误警告。

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

查看数据库实例名:dbaccess,然后选择database,在选择select,数据库名@符号后面的即为数据库实例名新建数据库:1、使用dbaccess进入informix交互环境2、选择Database,回车3、选择 Create,回车4、输入数据库名:uniacctr,回车5、选择 Dbspace(表空间),回车6、选择跟局数据数据库bureaudb一样的表空间,回车7、选择 Log ,回车8、选择 Log,回车(选择日志模式,其他不支持事务);9、选择 Exit,回车10、选择 Create-new-database ,回车。

此时数据库应该已经建立。

查看某个数据库的表空间:1、使用dbaccess进入informix交互环境2、选择Database,回车3、选择 Select,回车4、选择局数据数据库bureaudb,回车5、选择Info,回车6、选择dBSpace,回车图中rootdbs位置显示的即是表空间/关键字: dbschema工具:1)导出数据库中所有的表结构到文件$>dbschema -d your_database -t all2)导出数据库中所有的存储过程到文件$>dbschema -d your_database -f all3)导出数据库中的所有对象(包含表,存储过程,触发器。

)到文件$>dbschema -d your_database4)导出数据库中一个表的结构到文件$>dbschema -d your_database_name -t your_table_name5)导出一个存储过程定义到文件$>dbschema -d your_database_name -f your_procedure_name)6)如果导出更多的表的信息(EXTENT...)$>dbschema -d your_database_name -ss7)导出数据库中对用户或角色的授权信息$>dbschema -d your_database_name -p all$>dbschema -d your_database_name -r all8)导出数据库中的同义词$>dbschema -d your_database_name -s all导出数据库表结构:dbschema -d database >dbschema -t tablename >-d表示导出整个数据库的表结构,-t表示导出某一个数据表的表结构。

\数据库及数据表导入导出操作:数据库的导入:1. 在dbaccess工具环境环境下建立数据库(如:gdxy)注意:此步操作一定不要直接在dbvis工具上建立,否则后期的脚步总是运行报错,因为在命令行环境下建的数据库里面会有设置数据库的临时空间和log 文件。

2.开始导入建表的sql脚本(如:在dbaccess工具环境下直接输入 dbaccess gdxy <3.导入表中的数据(通常导出时为txt格式)一:对于单个表格,可以采用在dbaccess工具环境直接输入:load from insert into table1;二:对于使用unload导出的多个文件,可以通过编写命令文件的方式,批量的插入到数据库中。

法一:第一步:[内容如下FILE DELIMITER '|' 3;(此处的数字为表各中对应的字段数目)INSERT INTO table1;FILE DELIMITER '|' 3;(此处的数字为表各中对应的字段数目)INSERT INTO table2;FILE DELIMITER '|' 3;(此处的数字为表各中对应的字段数目)INSERT INTO table3;生成好了这个命令文件,则可以通过输入如下的dbload命令批量的导入三个表格数据:首先进入到导入文件所在的目录,例如 c:\bakdbload -d test(数据库名字) -c c:\bak\ -l aaa(随便输入的日志名字)即可以将三个文件对应的数据导入到指定的表格中&法二:第一步:编写导入脚步()load from DELIMITER '|' INSERT INTO table1;load from DELIMITER '|' INSERT INTO table2;第二步:在dbaccess工具环境下直接输入 dbaccess gdxy < 、二、数据库的导出1、单个表格导出:unload to select * from tableName三、导入导出操作备份表结构dbschema -d database >?dbschema -t tablename -d >-d表示导出整个数据库的表结构,-t表示导出某一个数据表的表结构。

导出数据库 dbexport:dbexport在使用前必须保证该数据库未被别人打开。

在实际环境中,因为很多业务正在运行,应用程序的连接尚未断开,所以不能直接运行dbexport 。

我一般使用 onmode -ky 关闭数据库,然后再用 oninit 启动数据库,立即执行 dbexport 数据名,即可将数据导入。

假设数据库名为 test ,导出完成后,可以看见的日志文件和一个文件夹,这个文件夹里即包含了test 这个库的建库脚本和所有的数据文件。

导入数据库 dbimport:导出来的数据拷贝到测试环境中,注意,如果只拷贝文件过来,dbimport 是不认识的,我们需要建立一个刚才那样的文件夹即,然后在这个子目录的上层运行 dbimport ,才能将数据导入。

】命令很简单,只需执行 dbimport test 即可。

此时要保证你的数据库中没有 test 这个库,如果这个库存在,运行dbimport 会导致失败。

倒库之后没日志文件运行 dbimport 后,库倒是建起来了,可是日志文件没有了。

这是因为dbexport 将会导致数据库的日志模式丢失,不用担心,我们可以用 ontape 这个命令来解决,具体步骤如下:a. 修改配置文件,在 $INFORMIXDIR/etc/onconfig 文件里,将 TAPEDEV 设置为 /dev/console ,然后重启数据库(我是执行onmode -ky 和 oninit 命令)b. 运行 ondblog buf test 这个命令意思是先打上一个标志。

将数据库日志设置为 buffer 模式。

c. 运行 ontape -s -L 0 test 即可,在转换数据库模式前,必须先做一个0级备份。

d. 好了,重启数据库,看看数据库日志模式已经改过来了。

另外,还有一个 onmonitor 命令,也是相当的有用,命令记不得,就可以用这个东西来实现。

JDBC连接informix出现的异常:Unable to load locale categories:昨天连接时出现了这个异常:首先连的库为中文库时才会出现这个异常,故可以判断是其unix环境的问题。

&后来查了下资料,修改jdbc的URl如下:jdbc:informix-;user=dccenter;password=sjjh151;DB_LOCALE=;CLIENT_LOCAL E=;DBDATE=mdy4;红色字为后加的。

即解决了此问题因为环境默认是英文的,所以通过修改URL来解决这个问题linux操作informix数据库命令以informix登录,oninit 启动informix数据服务器 onmode 关闭informix 数据服务器1. dbexport将数据库以ASCII方式下载。

该命令常用于迁移数据库。

如:命令dbexport -o /informix/db_export stores7,将数据库 stores7 下载到/informix/db_export/ 目录下。

数据库模式文件存放在/informix/db_export/ 下。

dbexport语法:dbexport [-c ] [-d] [-q] [-o] [目标文件选项] database [-ss] [-V]-c:指示如果没有错误,则输出全部信息。

-q:在标准输出设备上不显示错误信息、警告和所生成的SQL 数据定义语句。

-d:仅输出blob 描述符,不输出blob 数据。

-ss:在模式文件中输出特定于服务器的用于创建数据库和表的信息,比如:初始的extent和附加的extent 的大小、上锁方式、表所驻留的dbspace 等信息。

-o:指定数据输出文件的磁盘目录。

-t:指定数据输出文件的备份介质名称。

-b:指定备份介质块大小。

-s:指定备份介质的最大存储量。

-f:用于指定存储在备份介质上的模式文件名。

2. dbimport与dbexport 配合使用,根据dbexport 的输出创建数据库。

如:命令dbimport -c -i /informix/db_export stores7根据上例中输出结果创建数据库。

~dbimport语法dbimport [-c] [-q] [输入文件定位选项] [create 选项] database-c 指示dbimport在没有发生致命错误的情况下完成装入工作。

-q 指示在标准输出设备上不显示错误信息和警告。

-X 标识符符字段中的HEX二进制数据。

-i 指定存储ASCII文件和模式文件的磁盘目录,以便dbimport查找。

-t 指定含有ASCII文件和模式文件的磁带设备名。

-b 指定磁带设备块大小。

block以KB为单位,该值必须能为所使用的设备接受。

-s 指定磁带的最大数据存储量。

-f 指定磁盘上模式文件的路径名,以便dbimport查找模式文件,并以此为输入建立数据库。

-d 指定用来存储新建数据库的OnLine数据库空间(dbspace)。

如果没有使用-d 选项指定dbspace,则数据库缺省建立在根dbspace中。

-l 等价于CREATEDATABASE语句的WITH LOG字句。

如果没有使用-l选项,新建数据库不带日志。

如果没有使用buffered参数,为装入的数据库建立无缓冲事务日志;如果使用了buffered参数,为装入的数据库建立有缓冲事务日志。

-ansi 为装入的数据库建立ANSI方式兼容的事务日志。

3. dbload将ASCII 文件中的数据传送到数据库中。

4. dbschema将数据库的模式输出到文件中,可用于重建数据库或表。

5. oncheck数据一致性检查和索引修复工具。

常用选项有:oncheck -ce 检查Chunks 和extentsoncheck -cd 检查数据行oncheck -ci 检查索引值oncheck -cI 检查索引值和rowidoncheck -cr 检查系统保留页oncheck -cc 检查系统目录表6. oninit启动OnLine7. onlog显示系统逻辑日志的内容。

相关文档
最新文档