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

📄 第六章 pl-sql与oracle间交互 - pl-sql用户指南与参考 - whatiswhat.htm

📁 sql初学者不错的教程
💻 HTM
📖 第 1 页 / 共 5 页
字号:
          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与Oracle间交互 - PL-SQL用户指南与参考 - whatiswhat.files/bg_art_left_top.gif" 
      border=0></TD>
    <TD 
    background="第六章 PL-SQL与Oracle间交互 - 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与Oracle间交互 - PL-SQL用户指南与参考 - whatiswhat.files/bg_art_right_top.gif" 
      border=0></TD></TR>
  <TR>
    <TD width=18 
    background="第六章 PL-SQL与Oracle间交互 - 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与Oracle间交互</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与Oracle间交互 - PL-SQL用户指南与参考 - whatiswhat.files/o_cover.jpg"><BR><IMG 
                        alt="" 
                        src="第六章 PL-SQL与Oracle间交互 - PL-SQL用户指南与参考 - whatiswhat.files/o_banner.gif"> 
                        </CENTER>
                        <DIV id=chapter>第六章 PL/SQL与Oracle间交互</DIV><!-- InstanceEndEditable --><!-- InstanceBeginEditable name="EditRegion2"  -->
                        <DIV id=text>
                        <P class=title1>一、PL/SQL支持的SQL一览</P>
                        <P>PL/SQL扩展了SQL,变得更加强大和易用。我们可以用PL/SQL灵活安全地操作Oracle数据,因为它支持所有的SQL数据操作语句(除了EXPLAIN 
                        PLAN),事务控制语句,函数,伪列和操作符。PL/SQL还支持动态SQL,能让我们动态地执行SQL数据定义,数据控制和会话控制语句。除此之外, 
                        PL/SQL还遵循ANSI/ISO的SQL标准。 </P>
                        <P class=title2>1、数据操作</P>
                        <P>我们可以使用INSERT、UPDATE、DELETE、SELECT和LOCK 
                        TABLE来操作Oracle数据。INSERT用于向数据表中插入新行;UPDATE能修改行;DELETE可以删除不需要的行;SELECT可以按照我们给定的查询标准检索出满足条件的行;LOCK 
                        TABLE可以临时限制对一个数据表的访问。 </P>
                        <P class=title2>2、事务控制</P>
                        <P>Oracle是面向事务的,它使用事务来保证数据的完整性。数据库事务是指作为单个逻辑工作单元执行的一系列SQL操作。</P>
                        <P>同时,Oracle还可以通过事务将我们的操作持久化或取消。如果我们的程序在事务中有一步执行失败,Oracle就会发现错误并回滚整个事务。这样,数据库就会自动恢复到先前的状态。 
                        </P>
                        <P>我们可以使用COMMIT、ROLLBACK、SAVEPOINT和SET 
                        TRANSACTION命令来控制事务。COMMIT会提交事务,将数据库的变化永久性地提交;ROLLBACK会终止当前事务,并放弃自事务开启后所有发生变化的内容;SAVEPOINT能够标记当前事务的处理进度;一并使用ROLLBACK和SAVEPOINT就可以回滚部分事务。SET 
                        TRANSACTION可以设置事务的属性,如读写访问和隔离级别。 </P>
                        <P class=title2>3、SQL函数</P>
                        <P>PL/SQL能让我们使用所有的SQL聚合函数:AVG、COUNT、GROUPING、MAX、MIN、STDDEV、SUM和VARIANCE。除了COUNT(*)之外,所有的聚合函数都会忽略空值。</P>
                        <P>我们可以在SQL语句中使用聚合函数,但不能在过程化语句中使用。聚合函数会作用于整个字段,除非我们使用SELECT 
                        GROUP BY语句对返回的结果行进行分组排序。如果我们忽略GROUP 
                        BY子句,聚合函数就会把所有的结果行当作一个整体来处理。我们可以使用下面的语法来调用聚合函数:</P>
                        <BLOCKQUOTE>
                          <TABLE>
                            <TBODY>
                            <TR>
                              <TD 
                                noWrap>function_name([<STRONG>ALL</STRONG>&nbsp;|&nbsp;<STRONG>DISTINCT</STRONG>]&nbsp;expression) 
                              </TD></TR></TBODY></TABLE></BLOCKQUOTE>
                        <P>expression会引用一个或多个数据库字段。如果我们指定ALL(默认的),聚合函数就会考虑所有的行,也包括重复的行内容。如果我们指定的是DISTINCT,聚合函数只会考虑有区别的值。例如,下面的语句只返回数据表emp中不同的职别的个数:</P>
                        <BLOCKQUOTE>
                          <TABLE>
                            <TBODY>
                            <TR>
                              <TD 
                                noWrap><STRONG>SELECT</STRONG>&nbsp;COUNT(<STRONG>DISTINCT</STRONG>&nbsp;job)&nbsp;<STRONG>INTO</STRONG>&nbsp;job_count&nbsp;<STRONG>FROM</STRONG>&nbsp;emp; 
                              </TD></TR></TBODY></TABLE></BLOCKQUOTE>
                        <P>函数COUNT可以让我们使用星号(*)操作符返回一个数据表中行的个数。例如,下面的语句返回表emp中行的个数:</P>
                        <BLOCKQUOTE>
                          <TABLE>
                            <TBODY>
                            <TR>
                              <TD 
                                noWrap><STRONG>SELECT</STRONG>&nbsp;COUNT(*)&nbsp;<STRONG>INTO</STRONG>&nbsp;emp_count&nbsp;<STRONG>FROM</STRONG>&nbsp;emp; 
                              </TD></TR></TBODY></TABLE></BLOCKQUOTE>
                        <P>如果使用默认的ALL,聚合函数会考虑所有的列值,包括重复项;如果改换DISTINCT的话,聚合函数就只会考虑重复项中的一个值。 
                        </P>
                        <P class=title2>4、SQL伪列</P>
                        <P>PL/SQL可以辨识CURRVAL、LEVEL、NEXTVAL、ROWID和ROWNUM这样能返回特殊的数据项的SQL伪列。伪列并不是真实存在于数据表中的字段,但它们的行为看起来跟真实字段一样。例如,我们在查询时就可以选取伪列。但是,我们不允许在SQL语句中向伪列中插入值。伪列只能在SQL语句中使用,不能用在过程化语句中。 
                        </P>
                        <UL>
                          <LI>CURRVAL and NEXTVAL </LI></UL>
                        <P>序列(sequence)是一个能产生顺序编号的模式对象。创建序列时,我们可以指定它的初始值和增量值。CURRVAL能返回指定序列的当前值。</P>
                        <P>在使用序列前,我们必须先调用NEXTVAL,NEXTVAL的作用是生成并返回序列的下一个顺序值。想要得到序列中的当前值或是下一个值,我们必须使用点标志,方法如下:</P>

⌨️ 快捷键说明

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