`

informix 存储过程学习

 
阅读更多
一、存储过程概述
存储过程是一个用户定义的函数,由存储过程语句(SPL) 和一组SQL语句组成,以可以执行代码形式存储在数据库中,和表、视图、索引等一样,是数据库的一种对象。存储过程语言SPL(Stored Procedure Language),只能用在存储过程中,可以分成下面几类:

变量定义和赋值:define,let
流程控制:
分支控制:
if then
elif
else
end if;循环控制:
FOR,FOREACH,WHILE,EXIT, CONTINUE
函数调用与返回
CALL, SYSTEM ,RETURN
错误处理和调试
TRACE, ON EXCEPTION, RAISE EXCEPTION
二、存储过程建立 (一定要在dbaccess环境下)

create procedure cj()

update table1 set name = 'cc' where id=1;

end procedure; 


三、存储过程的执行(在dbvis工具和dbaccess环境下均可以操作)

execute procedure cj()

四、循环语句foreach

用 FOREACH 语句可以查询或操作一组记录
FOREACH 隐式定义并打开一个游标
三种格式
FOREACH [WITH HOLD] SELECT ... INTO 语句
        语句块
END FOREACH;
-FOREACH 游标名[WITH HOLD] FOR SELECT ... INTO 语句
        语句块
END FOREACH;
FOREACH EXECUTE PROCEDURE 存储过程名(参数...参数)
     INTO 变量[, 变量[, ...]]    语句块
END FOREACH;
FOREACH 定义的游标在以下情况下关闭:无行返回
事务提交或回滚导致非保护游标关闭
循环非正常退出(使用EXIT 或 ON EXCEPTION)

四、批处理执行

create procedure pro_foreach2()
define sid integer;

foreach select id into sid from table1 where id=1

update table1 set name = 'dsfass' where id = sid;(注意这里的分号一定要打)

end foreach;

end procedure;

4、存储过程和游标结合


create procedure pHasCursor()
define v_f1 integer;
begin
on exception
rollback work;
return;
end exception
begin work;
  foreach curt1 with hold for
  select id into v_f1 from table1
   if (v_f1= 1) then
  
    update table1 set name = 'one' where current of curt1;
    elif (v_f1 = 2) then
    update table1 set name = 'two' where current of curt1;
   end if;
  end foreach;
commit work;
end;
end procedure;
分享到:
评论

相关推荐

    INFORMIX数据库学习资料

    4. **IBM Informix SQL指南:语法**: 此文档深入解析了Informix支持的SQL语法,包括DML(数据操纵语言)、DDL(数据定义语言)和DCL(数据控制语言),帮助读者理解并编写复杂的SQL查询和存储过程。 5. **IBM ...

    informix学习使用手册

    书中会详细讲解这些过程,确保读者能顺利搭建Informix环境。 三、SQL语言基础 SQL是Structured Query Language的缩写,是用于管理关系数据库的标准语言。书中会详细介绍SQL的基本语法,如数据查询、插入、更新和...

    informix数据库的文档

    指南中的内容可能涵盖DML(Data Manipulation Language)如SELECT、INSERT、UPDATE和DELETE,以及DDL(Data Definition Language)如CREATE、ALTER和DROP等语句,同时还会涉及事务处理、视图、索引和存储过程等内容...

    informix学习资料

    Informix学习资料详解 Informix是一个关系数据库管理系统,它提供了丰富的数据管理功能和强大的开发工具。下面是对Informix学习资料中提到的几个知识点的详细解释。 锁表处理步骤 在Informix中,锁表处理是指...

    informix深入编程快速编程指南.rar

    1. **理解Informix基础**:学习Informix的基本概念,包括数据模型、表空间、索引、存储过程等,掌握如何创建、修改和管理数据库对象。 2. **SQL编程**:深入探索Informix SQL语法,包括DML(数据操作语言)如SELECT...

    informix

    9. **SQL与存储过程**:熟悉Informix支持的SQL语法,编写复杂的查询语句和存储过程,以实现业务逻辑的自动化。 10. **Informix扩展功能**:了解Informix对XML、JSON、时间序列数据和地理空间数据的支持,以及如何...

    Informix Study Resource

    五、Informix存储过程和触发器 存储过程是预编译的SQL语句集合,可提高数据库性能,减少网络通信。触发器则是在特定数据库事件(如INSERT、UPDATE、DELETE)发生时自动执行的程序,常用于实现业务规则或审计功能。 ...

    gbase(8t)(informix)+mybatis+maven+springboot 整合demo

    通过这个Demo,开发者可以学习到如何在复杂环境中进行技术选型和整合,提升解决实际问题的能力。同时,项目中的问题解决过程也反映了开发中的调试技巧和经验积累,对于提升开发者的技术素养大有裨益。

    informix精华文字版

    4. **存储过程和触发器**:Informix 支持用户自定义函数(UDF)和存储过程,可以编写复杂的业务逻辑,同时触发器可用于自动执行特定操作,如数据完整性检查。 5. **备份与恢复**:Informix 提供多种备份策略,如...

    informix教程 informix数据库系统概述

    我们不仅会学习基本的SELECT、INSERT、UPDATE和DELETE语句,还会了解更复杂的子查询、连接、视图和存储过程等高级特性。 第五章则关注数据库操作工具INFORMIX-ISQL的使用。这部分涵盖了ISQL的运行环境、启动过程...

    informix入门指南v9.4

    3. **SQL基础**:Informix支持标准的SQL语言,学习如何创建数据库、表,插入、查询、更新和删除数据,以及使用视图、索引、存储过程等高级特性。 4. **事务处理**:理解事务的概念,事务的ACID属性(原子性、一致性...

    Informix数据相关资料

    4. **存储过程**:存储过程是一组预编译的SQL语句,可以封装复杂的业务逻辑,提高代码复用性。 5. **触发器**:触发器在特定的数据库事件发生时自动执行,常用于实现数据的验证和更新。 **四、Informix事务处理** ...

    informix 12.1官方指南(中文)

    3. **SQL语法与使用**:详细解析Informix支持的SQL语句,包括数据查询、插入、更新、删除,以及复杂的联接、子查询、存储过程和触发器的使用,为数据库操作提供基础。 4. **数据类型与模式**:介绍Informix支持的...

    informix使用全书(经典教材)

    4. **数据库对象**:了解数据库中的各种对象,如表、视图、索引、触发器和存储过程,以及如何创建和管理它们。 5. **事务处理**:理解事务的概念,包括ACID属性(原子性、一致性、隔离性和持久性),以及如何使用...

    informix数据库完整教程

    通过学习本教程,读者将能够理解Informix的基本概念,掌握数据库设计、管理和优化的技巧,以及如何利用Informix处理大数据和实现高可用性。无论你是初学者还是有经验的开发者,Informix都能为你提供高效、可靠的...

    informix管理员指南

    在数据库设计阶段,理解表、索引、视图、触发器以及存储过程等核心元素至关重要。 在《Informix管理员指南》中,你将学习如何规划和部署Informix环境。这包括选择适当的硬件和软件平台,配置网络和系统参数,以及...

    informix SQL语法手册

    - 存储过程:预先编译好的SQL代码集合,可重用。 - `CREATE PROCEDURE procedure_name (parameter_list) BEGIN SQL_statement_list; END;` #### 八、错误处理与日志记录 - **错误处理**: - 使用TRY-CATCH块来...

    informix学习总结

    Informix 是一个关系数据库管理系统,它提供了多种数据类型、游标、存储过程、异常处理等功能。下面是 Informix 学习总结的知识点: 一、数据类型 Informix 提供了多种数据类型,包括: 1. 简单类型:CHAR、...

    Informix Application Development Getting Started

    8. **高级特性**:探索 Informix 的一些高级功能,如触发器、存储过程、视图、分区表等,以及如何在 Java 中调用这些功能。 9. **性能优化**:学习如何分析和优化 SQL 查询,提升应用程序的运行效率。 10. **安全...

Global site tag (gtag.js) - Google Analytics