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

📄 第二章 pl-sql基础 - pl-sql用户指南与参考 - whatiswhat.htm

📁 sql初学者不错的教程
💻 HTM
📖 第 1 页 / 共 5 页
字号:
                            <TD>关系操作符</TD></TR>
                          <TR>
                            <TD>&gt;=</TD>
                            <TD>关系操作符</TD></TR>
                          <TR>
                            <TD>--</TD>
                            <TD>单行注释提示符</TD></TR></TBODY></TABLE>
                        <P class=title2>2、标识符</P>
                        <P>我们可以使用标识符来为PL/SQL程序中的常量、变量、异常、游标、游标变量、子程序和包命名。下面是一些标识符的例子: 
                        </P>
                        <OL>
                          <LI>X 
                          <LI>t2 
                          <LI>phone# 
                          <LI>credit_limit 
                          <LI>LastName 
                          <LI>oracle$number </LI></OL>
                        <P>标识符可以由字母、数字、美元符号($)、下划线(_)和数字符号(#)组成。而像连字符(-)、斜线(/)等符号都是不允许使用的。如下例: 
                        </P>
                        <OL>
                          <LI>mine&amp;yours -- 不允许使用连字符(not allowed because of 
                          ampersand) 
                          <LI>debit-amount -- 不允许使用连字符(not allowed because of 
                          hyphen) 
                          <LI>on/off -- 不允许使用斜线(not allowed because of slash) 
                          <LI>user id -- 不允许使用空格(not allowed because of space) 
                          </LI></OL>
                        <P>而使用美元符号、下划线和数字符号都是允许的: </P>
                        <OL>
                          <LI>money$$$tree 
                          <LI>SN## 
                          <LI>try_again_ </LI></OL>
                        <P>我们也可以使用大小写混合的形式来编写标识符。但是要记住,除了字符串和字符以外,PL/SQL对大小写是不敏感的。所以,只在大小写上有区别的标识符,PL/SQL会把它们当做同一标识处理,如下例: 
                        </P>
                        <OL>
                          <LI>lastname 
                          <LI>LastName -- 与lastname相同 
                          <LI>LASTNAME -- 与lastname和Lastname相同 </LI></OL>
                        <P>标识符的长度不能超过30。对于标识符的命名尽可能代表某种含义,避免使用像cpm这样的命名,而是使用cost_per_tdousand这样意义明确的命名方式。 
                        </P>
                        <UL>
                          <LI>保留关键字 </LI></UL>
                        <P>对于某些标识符,我们称它们为保留关键字(reserved 
                        word),因为对于PL/SQL来说,它们有着特殊含义,不可以被重新定义。例如BEGIN和END,它们代表块或子程序的起始和结束而被PL/SQL 
                        保留下来。在下面的例子中,我们可以看到,如果重定义一个关键字的话,就会产生一个编译错误: </P>
                        <BLOCKQUOTE>
                          <TABLE>
                            <TBODY>
                            <TR>
                              <TD 
                                noWrap><STRONG>DECLARE</STRONG><BR>&nbsp;&nbsp;end&nbsp;<STRONG>BOOLEAN</STRONG>;&nbsp;<EM>--&nbsp;not&nbsp;allowed;&nbsp;causes&nbsp;compilation&nbsp;error</EM> 
                              </TD></TR></TBODY></TABLE></BLOCKQUOTE>
                        <P>但像下面这样把保留关键字嵌套在标识符中使用是允许的: </P>
                        <BLOCKQUOTE>
                          <TABLE>
                            <TBODY>
                            <TR>
                              <TD 
                                noWrap><STRONG>DECLARE</STRONG><BR>&nbsp;&nbsp;end_of_game&nbsp;<STRONG>BOOLEAN</STRONG>;&nbsp;<EM>--&nbsp;allowed</EM> 
                              </TD></TR></TBODY></TABLE></BLOCKQUOTE>
                        <P>通常,保留关键字都是以大写形式存在的,这样能够增强可读性。但是,跟其他PL/SQL标识符一样,保留关键字也可以使用小写或大小写混合的形式。 
                        </P>
                        <UL>
                          <LI>预定义标识 </LI></UL>
                        <P>在包STANDARD中声明的全局标识符(如INVALID_NUMBER)是可以被重新声明的。但是,不建议重新声明预定义标识符,因为这样做的结果会使本地声明覆盖全局声明。 
                        </P>
                        <UL>
                          <LI>引用标识符 </LI></UL>
                        <P>为了获取更多的灵活性,PL/SQL允许我们用双引号将标识符夹起来。这样的标识符很少使用,但有时它们非常有用。它们可以包含任何可打印字符,其中空格也包含在内,但是,不可以包含双引号。因此,下面这些引用标识符都是有效的: 
                        </P>
                        <OL>
                          <LI>"X+Y" 
                          <LI>"last name" 
                          <LI>"on/off switch" 
                          <LI>"employee(s)" 
                          <LI>"*** header info ***" </LI></OL>
                        <P>除了双引号以外,引用标识符最多可以包含30个字符。虽然把PL/SQL保留关键字作为引用标识符是被允许的,但这并不是一个好的编程习惯。 
                        </P>
                        <P>有些PL/SQL保留关键字并不是SQL的保留关键字。例如,我们可以在CREATE 
                        TABLE语句中使用TYPE作为字段名。但是,如果程序中的SQL语句要引用到这个字段的话,就会发生编译错误: 
                        </P>
                        <BLOCKQUOTE>
                          <TABLE>
                            <TBODY>
                            <TR>
                              <TD 
                                noWrap><STRONG>SELECT</STRONG>&nbsp;acct,&nbsp;type,&nbsp;bal&nbsp;<STRONG>INTO</STRONG>&nbsp;...&nbsp;<EM>--&nbsp;causes&nbsp;compilation&nbsp;error</EM> 
                              </TD></TR></TBODY></TABLE></BLOCKQUOTE>
                        <P>为了避免发生这样的错误,就需要把字段名用双引号夹起来: </P>
                        <BLOCKQUOTE>
                          <TABLE>
                            <TBODY>
                            <TR>
                              <TD 
                                noWrap><STRONG>SELECT</STRONG>&nbsp;acct,&nbsp;"TYPE",&nbsp;bal&nbsp;<STRONG>INTO</STRONG>&nbsp;... 
                              </TD></TR></TBODY></TABLE></BLOCKQUOTE>
                        <P>要注意的是,字段名不能采用小写或大小写混合的形式(CREATE 
                        TABLE语句中除外)。例如,下面的语句是无效的: </P>
                        <BLOCKQUOTE>
                          <TABLE>
                            <TBODY>
                            <TR>
                              <TD 
                                noWrap><STRONG>SELECT</STRONG>&nbsp;acct,&nbsp;"type",&nbsp;bal&nbsp;<STRONG>INTO</STRONG>&nbsp;...&nbsp;<EM>--&nbsp;causes&nbsp;compilation&nbsp;error</EM> 
                              </TD></TR></TBODY></TABLE></BLOCKQUOTE>
                        <P>还有一种做法就是可以建立视图来为原来的字段名更换一个新名。 </P>
                        <P class=title2>3、文字</P>
                        <P>文字就是一个数字、字符、字符串或布尔(Boolean)值。它本身是数据而不是对数据的引用,如数字147和布尔值FALSE都是文字。 
                        </P>
                        <UL>
                          <LI>数字文字 </LI></UL>
                        <P>在算术表达式中有两种数字文字可以使用:整数和实数。整数文字不带小数点,有一个可选的符号,例子如下: 
</P>
                        <BLOCKQUOTE>
                          <TABLE>
                            <TBODY>
                            <TR>
                              <TD 
                                noWrap>030&nbsp;6&nbsp;-14&nbsp;0&nbsp;+32767 
                            </TD></TR></TBODY></TABLE></BLOCKQUOTE>
                        <P>实数文字带有小数点,也有一个可选的符号,例子如下: </P>
                        <BLOCKQUOTE>
                          <TABLE>
                            <TBODY>
                            <TR>
                              <TD 
                                noWrap>6.6667&nbsp;0.0&nbsp;-12.0&nbsp;3.14159&nbsp;+8300.00&nbsp;.5&nbsp;25. 
                              </TD></TR></TBODY></TABLE></BLOCKQUOTE>
                        <P>PL/SQL把12.0和25.这样的数字都当作实数处理,虽然它们只有整数部分值。 </P>
                        <P>数字文字不能包含美元符号或是逗号,但可以使用科学记数法。只要在数字后面添加一个E(或e),再跟上一个整数即可(符号可选)。比如下面几个例子: 
                        </P>
                        <BLOCKQUOTE>
                          <TABLE>
                            <TBODY>
                            <TR>
                              <TD 
                                noWrap>2E5&nbsp;1.0E-7&nbsp;3.14159e0&nbsp;-1E38&nbsp;-9.5e-3 
                              </TD></TR></TBODY></TABLE></BLOCKQUOTE>
                        <P>E代表了十的幂,即权(times ten to tde power 
                        of)。E后面的整数值代表指数。**是幂操作符。 </P>
                        <BLOCKQUOTE>
                          <TABLE>
                            <TBODY>
                            <TR>
                              <TD 
                                noWrap>5E3&nbsp;=&nbsp;5&nbsp;*&nbsp;10**3&nbsp;=&nbsp;5&nbsp;*&nbsp;1000&nbsp;=&nbsp;5000<BR><EM>--&nbsp;tde&nbsp;double&nbsp;asterisk&nbsp;(**)&nbsp;is&nbsp;tde&nbsp;exponentiation&nbsp;operator</EM> 
                              </TD></TR></TBODY></TABLE></BLOCKQUOTE>
                        <P>在上面的例子里,小数点向右移动三个位置,而在下面这个例子中,我们把E后面的数字改成-3,就能让小数点向左移动三个位置: 
                        </P>
                        <BLOCKQUOTE>
                          <TABLE>
                            <TBODY>
                            <TR>
                              <TD 
                                noWrap>5E-3&nbsp;=&nbsp;5&nbsp;*&nbsp;10**-3&nbsp;=&nbsp;5&nbsp;*&nbsp;0.001&nbsp;=&nbsp;0.005 
                              </TD></TR></TBODY></TABLE></BLOCKQUOTE>
                        <P>再举一个例子。如果字符文字的范围不在1E-130到10E125之间,就会产生编译错误: </P>
                        <BLOCKQUOTE>
                          <TABLE>
                            <TBODY>
                            <TR>
                              <TD 
                                noWrap><STRONG>DECLARE</STRONG><BR>&nbsp;&nbsp;n&nbsp;<STRONG>NUMBER</STRONG>;<BR><STRONG>BEGIN</STRONG><BR>&nbsp;&nbsp;n&nbsp;:=&nbsp;10E127;&nbsp;&nbsp;&nbsp;<EM>--&nbsp;causes&nbsp;a&nbsp;'numeric&nbsp;overflow&nbsp;or&nbsp;underflow'&nbsp;error</EM> 
                              </TD></TR></TBODY></TABLE></BLOCKQUOTE>
                        <UL>
                          <LI>字符文字 </LI></UL>
                        <P>字符文字就是由单引号夹起来的一个单独的字符。字符文字包括PL/SQL字符集中所有的可打印字符:字母、数字、空格和特殊符号。如下例所示: 
                        </P>
                        <BLOCKQUOTE>
                          <TABLE>
                            <TBODY>
                            <TR>
                              <TD 
                                noWrap><EM>'Z'</EM>,&nbsp;<EM>'%'</EM>,&nbsp;<EM>'7'</EM>,&nbsp;<EM>'&nbsp;'</EM>,&nbsp;<EM>'z'</EM>,&nbsp;<EM>'('</EM> 
                              </TD></TR></TBODY></TABLE></BLOCKQUOTE>
                        <P>对于字符文字来说,PL/SQL是大小写敏感的。例如,PL/SQL会把'Z'和'z'当成不同的字符。字符'0'到'9'虽不与整数文字等价,但它们可以被应用于算术表达式中,因为它们会被隐式地转换成整数。 
                        </P>
                        <UL>
                          <LI>字符串文字 </LI></UL>
                        <P>字符值可以用标识符来表示,或是写成字符串文字,字符串文字就是由单引号夹起来的零个或多个字符,如下例所示:</P>
                        <BLOCKQUOTE>
                          <TABLE>
                            <TBODY>
                            <TR>

⌨️ 快捷键说明

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