oracle中的plsql的一个最基本的语句,麻烦各位跟我说的详细点?我只会sql,plsql看过一点点。
就是这两句话:--资产借用归还提醒信息集合cur_personpkg_mail_param.cur_returnremind;--定义提醒人集合的类型empRowType...
就是这两句话:
--资产借用归还提醒信息集合
cur_person pkg_mail_param.cur_returnremind; --定义提醒人集合的类型
empRowType cur_person%rowtype; --每一行的类型、数据绑定
需要的其他plsql语句:
--资产借用归还提醒
1、 --add by hjyang6
type propertyreturninfo is record(
emp_email t_bd_person.femail%type
);
2、--add by hjyang6
type cur_returnremind is ref cursor return propertyreturninfo; 展开
--资产借用归还提醒信息集合
cur_person pkg_mail_param.cur_returnremind; --定义提醒人集合的类型
empRowType cur_person%rowtype; --每一行的类型、数据绑定
需要的其他plsql语句:
--资产借用归还提醒
1、 --add by hjyang6
type propertyreturninfo is record(
emp_email t_bd_person.femail%type
);
2、--add by hjyang6
type cur_returnremind is ref cursor return propertyreturninfo; 展开
1个回答
展开全部
这些都是定义数据类型的,就好象你定义一个archar2的数据一样,高大你在plsql中定义一个varchar2类型的时候要写 aaaa varchar2,那么这里不是用varchar2什么的具体的格式来表示数据类型,而是用了已经有的数据类型,或者自己创建的数据类型。
比如(不完全枝轿是,不过大概可以这么理解,因为这里的pkg_mail_param.cur_returnremind应该是一个集合):
cur_person (前面这个可以看成变量) pkg_mail_param.cur_returnremind(后面这个前面的pkg_mail_param是包名,后面的这个应该是包里面定义的一个type(这里实际是个集合),我看见用cur开头,估计是一般情况下用戚搭竖在游标处了。)
你去pkg_mail_param包中,找到cur_returnremind看看他是怎么定义的。
既然cur_returnremind是一个集合,那么每一行的数据类型又是什么?
这里就是empRowType cur_person%rowtype
emp_email t_bd_person.femail%type应该是定义 emp_email他的数据类型和t_bd_person表的femail字段一致。
最后一句说的是cur_returnremind实际是propertyreturninfo的返回职的类型的游标(不完全正确,不过个人认为可以这么理解)
这个写法其实麻烦的要死,如果propertyreturninfo只有一个 t_bd_person.femail的类型,那么干吗不直接用 t_bd_person.femail的类型,个人比较烦oracle的数组和集合,用起来麻烦。不过在合并或者连接上来说还稍微有点用。
比如(不完全枝轿是,不过大概可以这么理解,因为这里的pkg_mail_param.cur_returnremind应该是一个集合):
cur_person (前面这个可以看成变量) pkg_mail_param.cur_returnremind(后面这个前面的pkg_mail_param是包名,后面的这个应该是包里面定义的一个type(这里实际是个集合),我看见用cur开头,估计是一般情况下用戚搭竖在游标处了。)
你去pkg_mail_param包中,找到cur_returnremind看看他是怎么定义的。
既然cur_returnremind是一个集合,那么每一行的数据类型又是什么?
这里就是empRowType cur_person%rowtype
emp_email t_bd_person.femail%type应该是定义 emp_email他的数据类型和t_bd_person表的femail字段一致。
最后一句说的是cur_returnremind实际是propertyreturninfo的返回职的类型的游标(不完全正确,不过个人认为可以这么理解)
这个写法其实麻烦的要死,如果propertyreturninfo只有一个 t_bd_person.femail的类型,那么干吗不直接用 t_bd_person.femail的类型,个人比较烦oracle的数组和集合,用起来麻烦。不过在合并或者连接上来说还稍微有点用。
追问
我定义了一个变量,这个变量是我已经定义的数据类型(数据类型内算"集合")。
cur_person pkg_mail_param.cur_returnremind
我上面那句话应该定义的是一个变量,但是后面却用来存储游标的数据。游标不应该是一个集合吗?而且我后面还遍历了cur_person这个变量,站在java的角度是错的(因为我定义的是一个变量不是集合)。
那么这个游标到底是啥?估计是我理解错了
追答
oracle是可以这么定义的。
你可以把他理解为一个数组,虽然和一般的数组不同,不过可以这么理解的,大概就是这个意思。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询