第02章 通用编程语言基础_第1页
第02章 通用编程语言基础_第2页
第02章 通用编程语言基础_第3页
第02章 通用编程语言基础_第4页
第02章 通用编程语言基础_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章通用编程语言基础本章目标掌握PL/SQL编程基础知识2.1PL/SQL编程基础字符类型PL/SQL引擎支持4中类型的字符:字母、数字、符号和空格。词汇单元标识符保留字定界符字面值注释标识符标识符是为PL/SQL对象(例如变量、游标等)和数据库对象(包括存储过程、函数和包等)提供命名标识的。标识符的命名规范:必须以字母开头;最多包含30个字符;不能包含标点符号、空格或连字符号(“-”)可以包含下列字符:“$”、“#”、“_”以及全部数字字符,但这些字符不能作为名称的第一个字符。例如,以下几个标识符

My-Procedure 1Variable cursor#1 Fuction_@_name

都是非法标识符!标识符注意:标识符不区分字符的大小写;引用标识符(用双引号“”括起来的标识符)区分字符的大小写。例如,以下三个标识符

abc Abc “Abc”

前两个标识符的名称在使用时一样,而第3个标识符与前两个不一样。保留字保留字是PL/SQL专用的词。注意:避免在程序中误用保留字定义变量。获取当前系统所使用的全部保留字setpages9999colkeywordFORMATA30selectkeyword,lengthfromv$reserved_wordswhere(length>1orkeyword='A')andkeyword!='<<'orderbykeyword;注意:需要以SYSDBA或SYSOPER的身份运行!2.1PL/SQL编程基础字符类型PL/SQL引擎支持4中类型的字符:字母、数字、符号和空格。词汇单元标识符保留字定界符对PL/SQL有特殊含义的字符,如,算术运算符等。字面值注释字面值字面值指的是没有使用标识符进行描述字符、字符串、数字、布尔和日期/时间等类型的值。字符与字符串使用单引号括起来,并且区分大小写。使用两个单引号替换字符串中的单个单引号。 如,dbms_output.put_line('I''mastudent.');使用q’[…]’语法,自定义字符串字面值的分隔符。其中的中括号代表自定义的分隔符。 如,dbms_output.put_line(q'!I'mastudent.!');字面值数字可以分为整数值字面值和实数值字面值。整数值和实数值前面都可以使用表示正负的加号(+)或减号(-)。整数值和实数值都可以使用科学计数法表示。 如,1000、1000.0、1E3、-2.5布尔值在PL/SQL中可以使用的布尔值:TRUE、FLASE和NULL。布尔字面值不用单引号。【例2-1】注意区分字面值的类型。declarev_var1varchar2(20);v_var2varchar2(6);v_var3number(5,3);beginv_var1:='String';v_var2:='12.345';v_var3:=12.345;dbms_output.put_line('v_var1:'||v_var1);dbms_output.put_line('v_var2:'||v_var2);dbms_output.put_line('v_var3:'||v_var3);end;--字符串字面值--字符串字面值--数值字面值2.1PL/SQL编程基础字符类型PL/SQL引擎支持4中类型的字符:字母、数字、符号和空格。词汇单元标识符保留字定界符字面值注释单行注释(--)多行注释(/**/)PL/SQL变量基本概念变量是在PL/SQL块中存储数据的内存区域,用来保存临时值。在PL/SQL块的声明部分定义。如果没有给变量赋初始值,则值为NULL。语法varibale_name[CONSTANT]date_type [NOTNULL][:=value];使用Anchored数据类型%TYPE如果声明的变量基于某个数据库对象,可以直接将这个变量锚定到这个数据库对象上。声明的语法:varibale_nametype_attribute%TYPE;declareemp_nameemp.ename%TYPE;my_nameemp_name%TYPE;例如,变量emp_name的数据类型与emp表的ename列的数据类型保持一致。变量my_name的数据类型与变量emp_name的数据类型保持一致。使用Anchored数据类型%ROWTYPE%ROWTYPE是将变量锚定到表的所有列。声明的语法:varibale_nametable_name%ROWTYPE;declarev_deptdept%ROWTYPE;……例如,变量dept_info实际上包含有以下定义:deptnoNUMBER(2)dnameVARCHAR2(14)locVARCHAR2(13)【例2-2】使用%ROWTYPE检索部门信息declarev_deptdept%ROWTYPE;beginselect*intov_deptfromdeptwheredeptno=10;dbms_output.put_line('部门编号:'||v_dept.deptno);dbms_output.put_line('部门名称:'||v_dept.dname);dbms_output.put_line('所在地:'||v_dept.loc);end;输出结果:部门编号:10部门名称:ACCOUNTING所在地:NEWYORK变量的作用范围变量的作用范围是可以访问变量,或者变量可见的程序片断。通常,变量的作用范围是声明当前该变量的语句块。在嵌套语句块中,变量的作用范围是从嵌套语句块的声明部分,一直到结束部分。举例...xBINARY_INTEGER;BEGIN...DECLAREyNUMBER;BEGIN...END;...END;x的作用范围y的作用范围【例2-4】分析下面代码,给出输出结果。<<outer_block>>declarev_testnumber:=123;begindbms_output.put_line('OuterBlock,v_test:'||v_test);

<<inner_block>>declarev_testnumber:=456;begindbms_output.put_line('InnerBlock,v_test:'||v_test);dbms_output.put_line('InnerBlock,outer_block.v_test:'||outer_block.v_test);

endinner_block;endouter_block;

输出结果:OuterBlock,v_test:123InnerBlock,v_test:456InnerBlock,outer_block.v_test:123DECLAREV_SAL NUMBER(7,2):=60000;V_COMM NUMBER(7,2):=V_SAL*.20;V_MESSAGE VARCHAR2(255);BEGINDECLAREV_SAL NUMBER(7,2):=50000;V_COMM NUMBER(7,2):=0;V_TOTAL_COMP NUMBER(7,2):=V_SAL+V_COMM;BEGINV_MESSAGE:=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论