DB2学习笔记-存储过程

存储过程的作用:

Creat procedure 存储过程名(in 参数名 数据类型,out 参数名 数据类型)

Language 语言 (sql,java,c,.net)

Specific 标识名

Dynamic result sets 数量

Determitation//not

Begin


End



Connect to sample@

Create procedure pro(

Put w char(20)

)

Language sql

Begin

Declare f char(20);

Set f=’welcome’;

Set w=f;

End@


解决DB21061E未初始化命令行环境问题:C:\Documents and Settings\remy>db2cmd。


游标:

1.获得sql语句执行的结果,结果包括值所在的缓冲区域,定位,值的分析等。

2.Declare 游标名 cursor with hold

for sql 语句

Declare c1 cursor for select * from test

3. open 游标名

Fetch from 游标名 into 变量名

Close 游标名 // 释放系统的缓冲区域空间

注意: a:fetch 前必须要先open;

B:open 表示为游标所存数据开始缓冲区域;

C:游标取值方向永远是从第一条数据一次往下取值,不能够取上一条或几条数据;凡是open,此时游标的位置肯定指向第一条数据;

Open c1;

Fetch from c1 into temp;

Close c1;

Open c1;

D:只要系统自动提交,等同于close;with hold.


依据你所输入的号码来查询test表中的数据。


Connect to sample@

drop table test@

create table test (id int ,name char (20))@

insert into test values(1,'张三')@

insert into test values (2,'李四')@

Create procedure view(

In i int,out vname char(20)

)

Language sql

Begin

// 游标方式

// Declare c1 cursor for Select name from test where id =i;

Open c1;

Fetch from c1 into vname;

Close c1;

// 普通方式

// declare temp char(20);

For temp as select name from test where id=i do

Set vname = temp.name

End for;

end@


命令行执行db2 call view(1,?)后,可取到i为1的vname值。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值