⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 第五章 pl-sql集合与记录(1) - pl-sql用户指南与参考 - whatiswhat.htm

📁 sql初学者不错的教程
💻 HTM
📖 第 1 页 / 共 5 页
字号:
            PL/SQL用户指南与参考<!-- a82530 --></A><!-- 82530 --> </LI></UL>
          <LI><A href="http://blog.chinaunix.net/u1/44734/article_62688.html">· 
          FreeBSD<!-- a62688 --></A><!-- 62688 --> 
          <LI><A href="http://blog.chinaunix.net/u1/44734/article_62693.html">· 
          文摘<!-- a62693 --></A><!-- 62693 --> 
          <LI><A href="http://blog.chinaunix.net/u1/44734/article_82547.html">· 
          JavaScript<!-- a82547 --></A><!-- 82547 --> 
          <LI><A href="http://blog.chinaunix.net/u1/44734/article_83441.html">· 
          Linux&nbsp;&nbsp;&nbsp;<FONT face="Wingdings 3">}</FONT></A>
          <UL class=ul2>
            <LI><A 
            href="http://blog.chinaunix.net/u1/44734/article_83906.html">· VIM<!-- a83906 --></A><!-- 83906 --> </LI></UL>
          <LI><A href="http://blog.chinaunix.net/u1/44734/article_62689.html">· 
          杂谈<!-- a62689 --></A><!-- 62689 --> 
          <LI><A href="http://blog.chinaunix.net/u1/44734/article_89165.html">· 
          Windows<!-- a89165 --></A><!-- 89165 --> </LI></UL></LI>
        <LI class=ul0><A class=list1 
        href="http://blog.chinaunix.net/u1/44734/index.html">首页</A> </LI></UL></TD>
    <TD width=10></TD></TR>
  <TR>
    <TD colSpan=4>
      <TABLE style="BORDER-COLLAPSE: collapse" borderColor=#111111 cellSpacing=0 
      cellPadding=0 width=980 border=0>
        <TBODY>
        <TR>
          <TD></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<SCRIPT language=javascript>function $(s){return document.getElementById(s);}function ShowHideDiv(divid,iImg){if($(divid).style.display == "none"){iImg.src="../../templates/newgreen/images/dot2.gif";$(divid).style.display = "block";iImg.title="收起";}else{iImg.src="../../templates/newgreen/images/dot4.gif";$(divid).style.display = "none";iImg.title="展开";}}navHover();</SCRIPT>

<TABLE style="BORDER-COLLAPSE: collapse" borderColor=#111111 cellSpacing=0 
cellPadding=0 width="100%" border=0>
  <TBODY>
  <TR>
    <TD height=3></TD></TR></TBODY></TABLE><BR>
<TABLE style="BORDER-COLLAPSE: collapse" borderColor=#111111 cellSpacing=0 
cellPadding=0 width="90%" align=center border=0>
  <TBODY>
  <TR>
    <TD width=18 height=28><IMG alt="" 
      src="第五章 PL-SQL集合与记录(1) - PL-SQL用户指南与参考 - whatiswhat.files/bg_art_left_top.gif" 
      border=0></TD>
    <TD 
    background="第五章 PL-SQL集合与记录(1) - PL-SQL用户指南与参考 - whatiswhat.files/bg_art_top.gif">
      <P style="MARGIN: 5px; LINE-HEIGHT: 150%"></P></TD>
    <TD width=18 height=28><IMG alt="" 
      src="第五章 PL-SQL集合与记录(1) - PL-SQL用户指南与参考 - whatiswhat.files/bg_art_right_top.gif" 
      border=0></TD></TR>
  <TR>
    <TD width=18 
    background="第五章 PL-SQL集合与记录(1) - PL-SQL用户指南与参考 - whatiswhat.files/bg_art_left.gif"></TD>
    <TD align=middle bgColor=#f5fdee><BR><FONT style="FONT-SIZE: 14pt" 
      color=#295200><B>第五章 PL/SQL集合与记录(1)</B></FONT> 
      <TABLE style="BORDER-COLLAPSE: collapse" borderColor=#a5bd6b cellSpacing=1 
      cellPadding=0 width="100%" border=1>
        <TBODY>
        <TR>
          <TD align=middle>
            <TABLE style="BORDER-COLLAPSE: collapse; WORD-WRAP: break-word" 
            cellSpacing=0 cellPadding=0 width="100%" border=0>
              <TBODY>
              <TR>
                <TD align=middle>
                  <TABLE 
                  style="BORDER-COLLAPSE: collapse; WORD-WRAP: break-word" 
                  cellSpacing=0 cellPadding=0 width="100%" border=0>
                    <TBODY>
                    <TR>
                      <TD>
                        <DIV id=art style="MARGIN: 15px">
                        <CENTER><IMG alt="" 
                        src="第五章 PL-SQL集合与记录(1) - PL-SQL用户指南与参考 - whatiswhat.files/o_cover.jpg"><BR><IMG 
                        alt="" 
                        src="第五章 PL-SQL集合与记录(1) - PL-SQL用户指南与参考 - whatiswhat.files/o_banner.gif"> 
                        </CENTER>
                        <DIV id=chapter>第五章 PL/SQL集合与记录</DIV><!-- InstanceEndEditable --><!-- InstanceBeginEditable name="EditRegion2"  -->
                        <P class=title1>一、什么是集合</P>
                        <P>集合就是相同类型的元素的有序合集。它一个通用的概念,其中包含了列表、数组和其他相似的数据类型。每一个元素都有唯一的下标来标识当前元素在集合中的位置。PL/SQL提供了以下几种集合类型:</P>
                        <OL>
                          <LI>索引表,也称为关联数组,可以让我们使用数字或字符串作下标来查找元素。(这有点和其他语言中的哈希表相类似。) 

                          <LI>嵌套表可以容纳任意个数的元素,使用有序数字作下标。我们可以定义等价的SQL类型,把嵌套表存到数据库中去,并通过SQL语句进行操作。 

                          <LI>变长数组能保存固定数量的元素(但可以在运行时改变它的大小),使用有序数字作为下标。同嵌套表一样,也可以保存到数据库中去,但灵活性不如嵌套表好。 
                          </LI></OL>
                        <P>虽热集合是一维的,但我们可以把一个集合作为另外一个集合的元素来建立多维集合。</P>
                        <P>要在应用程序中使用集合,我们要先定义一个或多个PL/SQL类型,然后声明这些类型的变量。我们可以在过程、函数或包中定义集合类型。还可以把集合作为参数在客户端和存储子程序之间传递数据。 
                        </P>
                        <P>要查找复杂类型的数据,我们可以在集合中存放PL/SQL记录或SQL对象类型。嵌套表和变长数组也可以作为对象类型的属性。</P>
                        <P class=title2>1、理解嵌套表</P>
                        <P>在数据库中,嵌套表可以被当作单列的数据表来使用。Oracle在往嵌套表中存放数据时是没有特定顺序的。但是,当我们把检索出来的数据存放在PL/SQL变量时,所有行的下标就会从1开始顺序编号。这样,就能像访问数组那样访问每一行数据。 
                        </P>
                        <P>嵌套表有两个重要的地方不同于数组: </P>
                        <OL>
                          <LI>数组有固定的上限,而嵌套表是没有上界的。所以,嵌套表的大小是可以动态增长的。如下图: <IMG 
                          alt="" 
                          src="第五章 PL-SQL集合与记录(1) - PL-SQL用户指南与参考 - whatiswhat.files/o_5-1.gif"> 

                          <LI>数组必须是密集的(dense),有着连续的下标索引。所以我们不能从数组中删除元素。而对于嵌套表来说,初始化时,它是密集的,但它是允许有间隙的 
                          (sparse),也就是说它的下标索引可以是不连续的。所以我们可以使用内置过程DELETE从嵌套表中删除元素。这样做会在下标索引上留下空白,但内置函数NEXT仍能让我们遍历连续地访问所有下标。 
                          </LI></OL>
                        <P class=title2>2、理解变长数组</P>
                        <P>VARRAY被称为变长数组。它允许我们使用一个独立的标识来确定整个集合。这种关联能让我们把集合作为一个整体来操作,并很容易地引用其中每一个元素。下面是一个变长数组的例子,如果我们要引用第三个元素的话,就可以使用Grade(3)。</P><IMG 
                        alt="" 
                        src="第五章 PL-SQL集合与记录(1) - PL-SQL用户指南与参考 - whatiswhat.files/o_5-2.gif"> 

                        <P>变长数组有一个长度最大值,是在我们定义时指定的。它的索引有一个固定的下界1和一个可扩展的上界。例如变长数组Grades当前上界是7,但我们可以把它扩展到8、9、10等等。因此,一个变长数组能容纳不定个数的元素,从零(空的时候)到类型定义时所指定的最大长度。 
                        </P>
                        <P class=title2>3、理解关联数组(索引表)</P>
                        <P>关联数组就是键值对的集合,其中键是唯一的,用于确定数组中对应的值。键可以是整数或字符串。第一次使用键来指派一个对应的值就是添加元素,而后续这样的操作就是更新元素。下面的例子演示了如何使用关联数组: 
                        </P>
                        <BLOCKQUOTE>
                          <TABLE>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -