informix存储过程(如何运行 informix 存储过程)
本文目录
- 如何运行 informix 存储过程
- 请问如何在informix的存储过程中加入循环语句
- informix和oracle存储过程的异同
- informix存储过程报1214错,求大神指点!
- informix 执行存储过程 报201和101错误
- informix 如何在当前执行存储过程中返回此存储过程名
- informix 存储过程中给变量赋值
如何运行 informix 存储过程
标准SQL语言,通过数据库访问语言直接运行:execute procedure proc_name(in_para_list);在存储过程中调用;call proc_name(in_para_list);
请问如何在informix的存储过程中加入循环语句
create procedure inserttest(numrows int)define i int;let i=0;while i《 numrowsinsert into test values(i,i+1,i*3);let i=i+1;delete test where a=i;end whileend procedure;适当的地方你改一下吧
informix和oracle存储过程的异同
1、建立存储过程的语法1)Informixcreate procedure proc_name( )returning out_para_list / out_result_set;2)oraclecreate procedure procedue_name type(argn {is | as} --代替DECLARE关键字beginend procedure_name;2、错误捕捉1)Informix使用on exceptionend exception2)Oracle使用exceptionwhen others then3、对游标的处理1)Informixcreate procedure pHasCursor()define v_f1 integer;beginon exceptionrollback work;return;end exceptionbegin work;foreach curt1 with hold forselect f1 into v_f1 from t1 -- 注意这里没有分号if (v_f1 = 1) thenupdate t1 set f2 = ’one’ where current of curt1;elif (v_f1 = 2) thenupdate t1 set f2 = ’two’ where current of curt1;elseupdate t1 set f2 = ’others’ where current of curt1;end if;end foreach;commit work;end;end procedure;2)Oraclecreate or replace procedure pHasCursorasv_f1 number(10,0);cursor curt1 isselect f1 from t1 for update;beginopen curt1;loopfetch curt1 into v_f1;exit when curt1%notfound;if (v_f1 = 1) thenupdate t1 set f2 = ’one’ where current of curt1;elsif (v_f1 = 2) thenupdate t1 set f2 = ’two’ where current of curt1;elseupdate t1 set f2 = ’others’ where current of curt1;end if;end loop;commit;return;exceptionwhen others thenbeginrollback;end;end pHasCursor;3、在存储过程中调用另外一个存储过程1)InformixCall pNoParam();Call pNormalParam(1, ‘a’) returning v_Result;2)Oracle pNoParam;pNormalParam(1, ‘a’, v_Result);4、日期操作1)Informixdefine cur_dtime_var datetime year to second;当前日期时间: let cur_dtime_var = current; -- datetime2) Oracle Currtime date;Currtime := sysdate;5、关于参数的说明如果存储过程想返回一个参数,在informix中是通过返回值的形式实现的,而在oracle是通过输出参数或者输入输出参数实现的。举例:1)Informix:create procedure p1() returning integer;return 0;end procedure;2)oracle:create or replace procedure p1(x out number)asbeginx := 0;end p1;6、赋值1)informixlet v_1 = 100;2)oraclev_1 := 100;7、if语句1)informixif (v_1 =100) thenelif (v_1=200) thenElseend if;2)oracleif (v_1 =100) thenelsif (v_1=200) thenElseend if;
informix存储过程报1214错,求大神指点!
-1214 数值太大,不适合smallint类型smallint是-32767~32767,超范围要用integer类型
informix 执行存储过程 报201和101错误
捕获:ON EXCEPTION 用ON EXCEPTION语句捕获一个或一组特定的异常(即错误),用错误号标识。ON EXCEPTION IN (错误号,...)SET SQL 错误变量 ISAM 错误文本变量 语句块END EXCEPTION IN 子句说明欲捕获的错误号, 缺省时捕获所有的错误号。 SET 子句接收错误号和错误文本的变量,该语句可省略。 SQL 错误变量: 说明接收SQL 错误号的变量 ISAM错误变量: 说明接收ISAM错误号的变量 错误文本变量: 说明接收与SQL错误号对应的错误文本的变量 WITH RESUME 关键字用于把控制转向到捕获的错误被处理后的紧接发生异常语句后的语句,其效果相当于异常被处理后程序继续执行下去。 WITH RESUME 可以省略。
informix 如何在当前执行存储过程中返回此存储过程名
create procedure 存储过程名()Returning varchar(255);.....return ’存储过程名’;end procedure;
informix 存储过程中给变量赋值
select code into v_val from table;就可以了,注意查询应该只有一行返回值
更多文章:
谁有制作照片的网址?求一个比较权威知名度高的摄影后期处理网站!谢谢,有photoshop摄影后期教程的那种摄影后期网站!
2024年6月17日 06:15
热血传奇手机版客户端(热血传奇客户端下载完整官方模拟器实用攻略)
2024年7月11日 22:28
错误代码0xc004e003(windows7旗舰版激活密钥时为什么老是错误代码0×C004E003)
2023年7月4日 19:00
金庸群侠传online(金庸群侠传online精要比必杀厉害嘛)
2024年3月2日 15:20
三国时代的城池一般有多大面积?三国时期的哪五座城池最难攻克,历经了五次大战的是哪个
2024年6月28日 00:24
我在锤子官网找不到二手锤子机的,怎么点击怎么找的,我的是手机版?锤子科技的官网是什么
2024年7月26日 17:45