PLSQL Language Reference-PL/SQL语言基础-词汇单元-分隔符、标识符

词汇单元

PL/SQL词汇单元是它的最小的组件:分隔符、标识符、字面量、注释。

分隔符

分隔符:是一个字符或字符的组合,在PL/SQL中有特殊的意义。不要在分隔符中嵌入其它的字符。

+


:=


=>


%



.


||


/


**

幂运算操作符

(


)


:


,


<<

标签分隔符

>>


/*


*/


*



..


=


<>


!=


~=


^=


<


>


<=


>=


@

远程访问指示符

--


;


-


标识符

标识符命名pl/sql元素,包括:常量、光标、异常、关键字、标签、包、保留字、子程序、类型、变量。

标识符中的每个字符都是有意义的,例lastnamelast_name是不同的。

必须通过一个或多个空白符或一个标点符号来分隔相邻的标识符。

除了用户括起来的用户定义的标识外,PL/SQL是大小写不敏感的,例lastname, LastNameLASTNAME是相同的。

1)保留字和关键字

它们是PL/SQL中具有特殊意义的标识符。

不能使用保留字做为普通的用户定义的标识符。但可以使用它们作为括起来的用户定义的标识符,不建议这么做;

可以使用关键字做为用户定义的标识符,但不建议。

保留字



关键字



 

预定义的标识符

预定义的标识符是在预定义包standard中声明的,例invalid_number

--查看预定义标识符

select type_name from all_types where predefined = 'YES';


可以使用预定义的标识符作为用户定义的标识符,但不建议。

 

1)用户定义的标识符

用户定义的标识符由数据库字符集字符组成,或者为普通的或者是括起来的。

n  普通的用户定义标识符:以字母开头;可以包含字母、数字和$,#,_字符;不为保留字。

数据库字符集定义了哪些字符被划分为字母和数字。这些标识符的表示在数据库字符集中不能超过30字节。

--可接受的普通的用户定义的标识符

X

t2

phone#

credit_limit

LastName

oracle$number

money$$$tree

SN##

try_again_

--不可接受的

mine&yours     -- &

debit-amount   -- -

on/off         --on/

user id        --空格

n  括起来的用户定义的标识符:由双引号括起来。在双引号之间可以是数据库字符集中的任何字符,但除了双引号、换行符和null字符。

--可接受的括起来的用户定义的标识符

"X+Y"

"last name"

"on/off switch"

"employee(s)"

"*** header info ***"

括起来的用户定义的标识符在数据库字符集中不能超过30字节,包括2侧双引号在内。

括起来的用户定义的标识符是大小写敏感的,只有一个例外,如果括起来的用户定义的标识符去掉两侧的双引号是一个合法的普通的用户定义的标识符,则引用该标识符时双引号是可选的,如果去掉双引号,则是大小写不敏感的。


 

--该引用合法

declare

    "HELLO" varchar2(10) := 'hello';

begin

    dbms_output.put_line(Hello);

end;


--引用不合法,带引号是大小写敏感的

declare

    "HELLO" varchar2(10) := 'hello';

begin

    dbms_output.put_line("Hello");

end;


--使用保留字做为括起来的用户定义的标识符

declare

    "BEGIN" varchar2(15) := 'UPPERCASE';

    "Begin" varchar2(15) := 'Initial Capital';

    "begin" varchar2(15) := 'lowercase';

begin

    dbms_output.put_line("BEGIN");

    dbms_output.put_line("Begin");

    dbms_output.put_line("begin");

end;


-- 括起来的用户定义的标识符,保留字和非保留字省略双引号的差别

declare

    "HELLO" varchar2(10) := 'hello';  -- HELLO不是保留字

    "BEGIN" varchar2(10) := 'begin';  -- BEGIN是保留字

begin

    dbms_output.put_line(Hello);      -- 双引号是可选的

    dbms_output.put_line(BEGIN);      -- 双引号是必须的

end;


--保留字做为括起来用户自定义的标识符是大小写敏感的

declare

    "HELLO" varchar2(10) := 'hello';  -- HELLO不是保留字

    "BEGIN" varchar2(10) := 'begin';  -- BEGIN是保留字

begin

    dbms_output.put_line(Hello);      -- 大小写不敏感

    dbms_output.put_line("Begin");    -- 大小写敏感

end;


可以使用保留字做为括起来的用户定义的标识符,因为保留字不是合法的普通的用户定义的标识行,必须始终使用双引号,因此它总是大小写敏感的。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17013648/viewspace-1102571/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/17013648/viewspace-1102571/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值