informix里怎么写触发器?

VCSQLVB 2008-07-11 09:28:10
简单的处理: 新增记录时,比较varchar字段knh和kh的内容,把内容长的放kh里(也就是更新原来的内容)。
...全文
104 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
VCSQLVB 2008-07-11
  • 打赏
  • 举报
回复
CREATE TRIGGER tig_is_zxf
insert ON zxf
referencing new as q
after(
when(len(q.knh) > len(q.kh))
(
update zxf set q.kh = q.knh where knh = q.knh
)
)

老说语法错误,我以前没写过informix,有谁知道呀,帮忙写一个.
谢谢
apple_01 2008-07-11
  • 打赏
  • 举报
回复
使用AFTER FIELD應該可以的
rabbitjump 2008-07-11
  • 打赏
  • 举报
回复
网上例子很多,INFORMIX书上也有
create table temp_trig
(a serial,
b integer,
c integer);


CREATE PROCEDURE output_by_input(v_input integer) RETURNING integer;
RETURN v_input;
END PROCEDURE;

drop trigger tr_tmp_trig_i ;

create trigger tr_tmp_trig_i insert on temp_trig
referencing new as new
for each row
(
execute procedure output_by_input(new.a) into c
);

insert into temp_trig (b) values (2);
VCSQLVB 2008-07-11
  • 打赏
  • 举报
回复
create trigger tig_cmp
insert on zxf
referencing new as q
for each row
(
when(length(q.c2)>length(q.c1))
(
update zxf set q.c1=q.c2 where c2=q.c2
)
)
也错的,晕]


谁知道嘛,谢谢
本书由专业Informix用户、数据库管理员、Informix管理员和应用程序开发员编而成,把各大Informix产品的方方面面综合、深入地集中在一起,包括最新Informix产品的详细信息,如Informix Internet Foundation.2000以及i.Reach、i.Sell和IDS.2000。本书作者在Web站点www.informixhandbook.com中根据产品的演变更新内容。    这个站点是由Informix数据库驱动的.提供了Informix的丰富信息,包括章节更新、代码样本、白皮书、站点链接等等。本书内容包括核心概念、Informix SQL、服务器管理、安装与维护、性能调整、应用程序开发、Web应用程序和对象关系式数据库等,所附光盘中有大量实用程序、白皮书和与书中内容有关的其他信息。还提供一些Web站点链接.包括免费的Linux与NT版Informix Dynamic Server以及基于计算机的Informix培训材料。 第一部分 informix的核心概念 第1章 informix:过去、现在与未来 1.1 不断变化的informix公司 1.2 informix产品战略简介 1.3 了解informix产品系列 1. 4 更多信息 1.5 informix和其他参考资料 第2章 出自硅谷 2.1 数据库与informix的诞生 2.2 移师门罗公园,推出更多产品 2.3 20世纪90年代的informix 2.4 走向新世纪 2.5 现状与未来 2.6 更多信息 2.7 informix和其他参考资料 第3章 生成与使用stores数据库 3.1 何谓stores数据库 3.2 stores数据库中的演示文件 3.3 利用stores数据库学习 3.4 测试stores数据库 .3.5 更多信息 3.6 informix与其他参考资料 第4章 了解lnformix体系结构 4.1 关于本章的重要信息 4.2 informix服务器的演变 4.3 informix服务器系列 4.4 管理实例与共享内存 4.5 了解磁盘使用 4.6 虚拟处理器与监视线程 4.7 用备份与日志保持容错 4.8 使用pdq与分块 4.9 更多信息 4.10 informix与其他参考资料 第5章 informix sql的独特特性 5.1 informix sql及其特性 5.2 遵循ansi sql标准 5.3 informix数据类型 5.4 更多信息 5.5 informix和其他参考资料 第6章 取得数据:界面 6.1 为什么要dbaccess与isql 6.2 dbaccess与isgl的区别 6.3 交互式运行命令 6.4 使用菜单 6.5 主菜单 6.6 选择数据库与服务器 6.7 query-langlage菜单 6.8 connection菜单(仅适用于dbaccess) 6.9 database菜单 6.10 table菜单 6.11 session菜单(仅适用于dbaccess) 6.12 form菜单(仅适用于isql) 6.13 report菜单(仅适用于isql) 6.14 user-menu菜单(仅适用于isql) 6.15 更多信息 6. 16 informix与其他参考资料 第7章 informix与数据仓库 7.1 何谓数据仓库 7.2 informix对数据仓库的投资 7.3 更多信息 7.4 informix与其他参考资料 第二部分 lnpormlx sql 第8章 生成数据库与表格 8.1 规划磁盘布局与存储要求 8.2 使用语法符号 8.3 生成数据库 8.4 删除数据库 8.5 生成表格 8.6 删除表格 8.7 改变表格 8.8 更多信息 8.9 informix与其他参考资料 第9章 select语句 9.1 select语句结构 9.2 选择喉一值 9.3 where子句 9.4 使用连接 9.5 group by子句 9.6 having子句 9.7 order by子句 9.8 intotemp子句 9.9 使用内部函数 9.10 从远程数据库中选择 9.11 从mode-ansi数据库选择 9.12 高级语句 9.13 基本性能考虑 9.14 更多信息 9. 15 informix与其他参考资料 第10章 插入、更新与删除 10.1 insert、update与delete的重要性 10.2 使用insert语句 10.3 使用update语句 10.4 使用de
数据库的分类   模糊数据库   指能够处理模糊数据的数据库。一般的数据库都是以二直逻辑和精确的数据工具为基础的,不能表示许多模糊不清的事情。随着模糊数学理论体系的建立,人们可以用数量来描述模糊事件并能进行模糊运算。这样就可以把不完全性、不确定性、模糊性引入数据库系统中,从而形成模糊数据库。模糊数据库研究主要有两方面,首先是如何在数据库中存放模糊数据;其次是定义各种运算建立模糊数据上的函数。模糊数的表示主要有模糊区间数、模糊中心数、模糊集合数和隶属函数等。   统计数据库   管理统计数据的数据库系统。这类数据库包含有大量的数据记录,但其目的是向用户提供各种统计汇总信息,而不是提供单个记录的信息。   网状数据库   处理以记录类型为结点的网状数据模型的数据库。处理方法是将网状结构分解成若干棵二级树结构,称为系。系类型是二个或二个以上的记录类型之间联系的一种描述。在一个系类型中,有一个记录类型处于主导地位,称为系主记录类型,其它称为成员记录类型。系主和成员之间的联系是一对多的联系。网状数据库的代表是DBTG系统。1969年美国的CODASYL组织提出了一份“DBTG报告”,以后,根据DBTG报告实现的系统一般称 为DBTG系统。现有的网状数据库系统大都是采用DBTG方案的。DBTG系统是典型的三级结构体系:子模式、模式、存储模式。相应的数据定义语言分别称为子模式定义语言SSDDL,模式定义语言SDDL,设备介质控制语言DMCL。另外还有数据操纵语言DML。   演绎数据库   是指具有演绎推理能力的数据库。一般地,它用一个数据库管理系统和一个规则管理系统来实现。将推理用的事实数据存放在数据库中,称为外延数据库;用逻辑规则定义要导出的事实,称为内涵数据库。主要研究内容为,如何有效地计算逻辑规则推理。具体为:递归查询的优化、规则的一致性维护等。   Access数据库   美国Microsoft公司于1994年推出的微机数据库管理系统。它具有界面友好、易学易用、开发简单、接口灵活等特点,是典型的新一代桌面数据库管理系统。其主要特点如下:   (1)完善地管理各种数据库对象,具有强大的数据组织、用户管理、安全检查等功能。   (2)强大的数据处理功能,在一个工作组级别的网络环境中,使用Access开发的多用户数据库管理系统具有传统的XBASE(DBASE、FoxBASE的统称)数据库系统所无法实现的客户服务器(Cient/Server)结构和相应的数据库安全机制,Access具备了许多先进的大型数据库管理系统所具备的特征,如事务处理/出错回滚能力等。   (3)可以方便地生成各种数据对象,利用存储的数据建立窗体和报表,可视性好。   (4)作为Office套件的一部分,可以与Office集成,实现无缝连接。   (5)能够利用Web检索和发布数据,实现与Internet的连接。 Access主要适用于中小型应用系统,或作为客户机/服务器系统中的客户端数据库。   Informix数据库   美国InfomixSoftware公司研制的关系型数据库管理系统。InformixInformix-SE和Informix-Online两种版本。Informix-SE适用于UNIX和WindowsNT平台,是为中小规模的应用而设计的;Informix-Online在UNIX操作系统下运行,可以提供多线程服务器,支持对称多处理器,适用于大型应用。   Informix可以提供面向屏幕的数据输入询问及面向设计的询问语言报告生成器。数据定义包括定义关系、撤销关系、定义索引和重新定义索引等。Informix不仅可以建立数据库,还可以方便地重构数据库,系统的保护措施十分健全,不仅能使数据得到保护而不被权限外的用户存取,且能重新建立丢失了的文件及恢复被破坏了的数据。其文件的大小不受磁盘空间的限制,域的大小和记录的长度均可达2K。采用加下标顺序访问法,Informix与COBOL软件兼容,并支持C语言程序。 Informix可移植性强、兼容性好,在很多微型计算机和小型机上得到应用,尤其适用于中小型企业的人事、仓储及财务管理。   Orcale数据库   美国Orcale公司研制的一种关系型数据库管理系统,是一个协调服务器和用于支持任务决定型应用程序的开放型RDBMS。它可以支持多种不同的硬件和操作系统平台,从台式机到大型和超级计算机,为各种硬件结构提供高度的可伸缩性,支持对称多处理器、群集多处理器、大规模处理器等,并提供广泛的国际语言支持。 Orcale是一个多用户系统,能自动从批处理或在线环境的系统故障中恢复运行。系统提供了一个完整的软件开发工具Developer2000,包括交互式应用程序生成器、报表打印软件、字处理软件以及集中式数据字典,用户可以利用这些工具生成自己的应用程序。Orcale以二维表的形式表示数据,并提供了SQL(结构式查询语言),可完成数据查询、操作、定义和控制等基本数据库管理功能。Orcale具有很好的可移植性,通过它的通信功能,微型计算机上的程序可以同小型乃至大型计算机上的Orcale,并且能相互传递数据。另外Orcale还具有与C语言的接电子表格、图形处理等软件。 Orcale属于大型数据库系统,主要适用于大、中小型应用系统,或作为客户机/服务器系统中服务器端的数据库系统。   DB2数据库   IBM公司研制的一种关系型数据库系统。DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于OS/2、Windows等平台下。 DB2提供了高层次的数据利用性、完整性、安全性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令。DB2采用了数据分级技术,能够使大型机数据很方便地下载到LAN数据库服务器,使得客户机/服务器用户和基于LAN的应用程序可以访问大型机数据,并使数据库本地化及远程连接透明化。 它以拥有一个非常完备的查询优化器而著称,其外部连接改善了查询性能,并支持多任务并行查询。 DB2具有很好的网络支持能力,每个子系统可以连接十几万个分布式用户,可同时激活上千个活动线程,对大型分布式应用系统尤为适用。   SQLServer数据库   美国Microsoft公司推出的一种关系型数据库系统。SQLServer是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统,实现了与WindowsNT的有机结合,提供了基于事务的企业级信息管理系统方案。 其主要特点如下:   (1)高性能设计,可充分利用WindowsNT的优势。   (2)系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配置。   (3)强壮的事务处理功能,采用各种方法保证数据的完整性。   (4)支持对称多处理器结构、存储过程、ODBC,并具有自主的SQL语言。 SQLServer以其内置的数据复制功能、强大的管理工具、与Internet的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个出众的数据库平台。   Sybase数据库   美国Sybase公司研制的一种关系型数据库系统,是一种典型的UNIX或WindowsNT平台上客户机/服务器环境下的大型数据库系统。 Sybase提供了一套应用程序编程接口和库,可以与非Sybase数据源及服务器集成,允许在多个数据库之间复制数据,适于创建多层应用。系统具有完备的触发器、存储过程、规则以及完整性定义,支持优化查询,具有较好的数据安全性。Sybase通常与SybaseSQLAnywhere用于客户机/服务器环境,前者作为服务器数据库,后者为客户机数据库,采用该公司研制的PowerBuilder为开发工具,在我国大中型系统中具有广泛的应用。美国Sybase公司研制的一种关系型数据库系统,是一种典型的UNIX或WindowsNT平台上客户机/服务器环境下的大型数据库系统。 Sybase提供了一套应用程序编程接口和库,可以与非Sybase数据源及服务器集成,允许在多个数据库之间复制数据,适于创建多层应用。系统具有完备的触发器、存储过程、规则以及完整性定义,支持优化查询,具有较好的数据安全性。Sybase通常与SybaseSQLAnywhere用于客户机/服务器环境,前者作为服务器数据库,后者为客户机数据库,采用该公司研制的PowerBuilder为开发工具,在我国大中型系统中具有广泛的应用。   FoxPro数据库   最初由美国Fox公司1988年推出,1992年Fox公司被Microsoft公司收购后,相继推出了FoxPro2.5、2.6和VisualFoxPro等版本,其功能和性能有了较大的提高。 FoxPro2.5、2.6分为DOS和Windows两种版本,分别运行于DOS和Windows环境下。FoxPro比FoxBASE在功能和性能上又有了很大的改进,主要是引入了窗口、按纽、列表框和文本框等控件,进一步提高了系统的开发能力。   什么是数据库的主码(主键)?   能够唯一表示数据表中的每个记录的【字段】或者【字段】的组合就称为主码。   什么是数据库表?   数据表是数据库中一个非常重要的对象,是其他对象的基础。没有数据表,关键字、主键、索引等也就无从谈起。在数据库画板中可以显示数据库中的所有数据表(即使不是用PowerBuilder创建的表),创建数据表,修改表的定义等数据表是数据库中一个非常重要的对象,是其他对象的基础。没有数据表,关键字、主键、索引等也就无从谈起。在数据库画板中可以显示数据库中的所有数据表(即使不是用PowerBuilder创建的表),创建数据表,修改表的定义等
SybaseToad7.0 发布日期: 2007-08-25 软件说明: 新增功能:支持informix、增加export table界面、增加存储过程执行界面、增加存储过程重编译、增加表对象的触发器修改查看。修改bug若干。 功能类似toad或plsql: 1,支持语法高亮,显示表提示,类似plsql。 2,能自己定制菜单,如选中all_tables,点击ctrl+d 可以执行“select * from all_tables”操作。同理可以定制许多常用的功能。 3,左边功能导航增加了20-30项oracle常用的系统监控的功能,非常实用。 4,批量执行,带参数执行等。 5,可以连接多种数据库,尤其是oracle可以支持oracle客户端和无客户端两种情况。 6,数据导出,可以导出成为(insert...)的模式,方便数据库脚本的提取。 7,操作习惯为了和toad,plsql尽量保持一致,可以选择toad模式和plsql模式。 8,拷贝粘贴,可以对数据库表的数据进行拷贝粘贴。只要表结构相同的,也可以和excel之间进行拷贝粘贴。 9,也支持查看执行计划(ctrl+E)。 10,支持像toad的快速输入方式如s*+空格,直接出现select * from等等,可以自行定制。 11,oracle下,可以通过select rowid,a.* from XXXtable a where a.field1='123'对查询出的数据进行修改。 12,另外支持数据表,存储过程,数据管道(可以支持不同的数据库之间相同表结构的数据进行传输)等功能,表结构修改,增加索引主键等,修改保存存储过程。 最后,该软件是我自己编的,很小,打开速度快,支持两种语言,不收费,纯绿色。不带插件,无需安装,发上来只是为了和大家交流,多交朋友,请大家放心使用,有好的想法可以给我信。

1,194

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 Informix
社区管理员
  • Informix社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧