当前位置 > 主页 > 万和大讲堂 >


南京Oracle认证培训 集合变量的初始化

2016-03-02 13:56

  对于嵌套表类型集合变量和VARRAY类型集合变量,在使用集合变量之前必须要进行初始化,而对于关联数组类型不需要初始化。下面江苏万和计算机培训中心小编主要讨论嵌套表和VARRY的初始化。


  1 通过构造函数的显示初始化


  通过构造函数显示地给集合变量初始。例如:


  declare


  vnt_employee nt_employee :=nt_employee(); --不带参数的构造函数初始化


  vnt_employee nt_employee :=nt_employee('张三','李四','王五'); --带参数的构造函数初始化 南京Oracle认证培训


  begin


  null;


  end;


  2 直接赋值时的隐式初始化


  如果两个集合实例是基于同一集合类型,我们可以把其中一个实例的全部内容拷贝给另一个,这就相当于进行了初始化。南京Oracle培训 例如:


  declare


  vnt_employee nt_employee :=nt_employee('James','Lucy','Jordan');


  vnt_foregin_employee nt_employee;


  begin


  vnt_foregin_employee := vnt_employee;


  end;


  3 通过FETCH操作的隐式初始化


  在使用FETCH或者 SELECT INTO语句从数据库提取提取一个集合并保存到一个集合变量时,集合变量会自动初始化,就像直接赋值一样。南京Oracle认证培训


  declare


  vnt_colors nt_color;


  begin


  select colors into vnt_colors from color_models; --表color_models的color列是嵌套表类型。


  end;


  4 通过BULK COLLECT语句的隐式初始


  使用BULK COLLECT INTO语句批量提取数据并保存到一个集合变量,集合变量会自动初始化,就像直接赋值一样。南京Oracle认证培训


  declare


  vnt_employee nt_employee; --未初始化


  begin


  select e.ename bulk collect intovnt_employee from emp e;


  end;


  declare


  cursor cur_employee is select e.ename from emp e;


  vnt_employee nt_employee; --未初始化


  begin


  open cur_employee;


  fetch cur_employee bulk collect into vnt_employee;


  close cur_employee;


  end;


最近开班 more>
  • Web前端开发
  • 软件测试
  • 软件测试预科班
  • AI大模型+全栈开发开班
  • 云原生精英班
  • 云网预科班
  • 开发课程基础班第三期
  • 开发课程基础班第二期
  • 开发课程基础班第五期
  • Java全栈
  • CISP
  • HCIP-cloud
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • OCP 19C
  • RHCA
  • 6月9日
  • 5月21日
  • 5月14日
  • 6月9日
  • 5月7日
  • 5月26日
  • 5月19日
  • 5月12日
  • 6月3日
  • 6月9日
  • 随时开课
  • 7月12日
  • 5月19日
  • 5月19日
  • 5月7日
  • 5月10日
  • 5月24日
  • 5月24日
  • 随时开课
  • 随时开课
    • 姓 名 :
    • 电 话 :
    • 课 程 :

技术交流群

  • Java大数据交流群560819979加入
  • Python技术交流群595083299加入
  • Oracle技术交流群595119011加入
  • Web前端技术交流群604697610加入
  • Huawei技术交流群482919361加入
  • Redhat技术交流群587875348加入
  • UI设计技术交流群511649801加入
  • Cisco技术交流群596886705加入
  • IT运维技术交流群605888381加入