【网学网提醒】:网学会员为您提供PL-SQL语法参考,解决您在PL-SQL语法学习中工作中的难题,参考学习。
PL/SQL编程语法部分
PL/SQL程序块一般以三部分组成:
比如:setserveroutputondeclaremaxrecordsconstantint:=100;
iint:=1;beginforiin1..maxrecordsloopinsertintotesttable(recordnumber,currentdate)values(i,sysdate);endloop;dbms_output.put_line('成功录入数据!');commit;end;
语法:语法:
1、、
定义常量的语法:定义常量的语法:
[notnull]:=值;
常量名constant类型标识符
2、、
基本数据类型变量的定义方法
变量名类型标识符[notnull]:=值;
3、复合数据类型变量:、复合数据类型变量:
定义变量:(1)使用)使用%type定义变量:为了让PL/SQL中变量的类型和数据表中的字段的数据类型一致,oracle提供了%type定义方法。这样当数据表中的字段修改后,PL/SQL程序中相应变量的类型也自动修改。如:declareMydatetesttable.currentdate%type;Mydate为变量,testtable为数据表,currentdate为表testtable中的列。(2)记录类型变量:)记录类型变量:如:
相当于.net中的DataRow,要先定义一个记录类型myrecord,然后再初始化声明一个这样的变量srecord。(3)一维表类型变量:)一维表类型变量:语法:type表类型istableof类型indexbybinary_integer;表变量名表类型;类型可以是前面的类型定义,indexbybinary_integer子句代表以符号整数为索引,这样访问表类型变量中的数据方法就是“表变量名(索引符号整数)。”如:
相当于键/值对。
||是连接字符串的运算符。
(4)定义多维表类型变量)如:setserveroutputon
declaretypetabletype1istableoftesttable%rowtypeindexbybinary_integer;table1tabletype1;beginselect*intotable1(60)fromtesttablewhererecordnumber=60;dbms_output.put_line(table1(60).recordnumber||table1(60).currentdate);end;在定义好的表类型变量里,可以使用countdeletefirstlastnextexists和prior等属性进行操作,使用方法为:“表变量名.属性”。返回的是数字。如:在输出语句里加上Dbms_output.put_line(‘第一条记录:’||table1.first);Dbms_output.put_line(‘最后一条记录:’||table1.last);等等。其中table1是一维的表类型变量。
4、表达式:、表达式:
(1)数值表达式:)数值表达式:算术运算符包括:+、—、*、/、**(乘方);如计算10+3*4-20+5**2的值,理论上是27。setserveroutputondeclareresultinteger;beginresult:=10+3*4-20+5**2;dbms_output.put_line(‘运算结果为:’||to_char(result));注意:dbms_output.put_line函数的输出只能是字符串,因此利用to_char函数将数值型结果转换为字符型。
表达式:(2)数值表达式:)数值表达式字符表达由字符型常数、变量、函数和字符运算符组成,唯一可以
使用的字符运算符就是连接运算符“||”。
(3)关系表达式:)关系表达式:有9中关系表达式:<小于>大于=等于(不是赋值运算符:=)like类似于in在……之中>=大于等于
<=小于等于!=不等于between在……之间。
表达式:(4)逻辑表达式:)逻辑表达式逻辑运算符:not逻辑非or逻辑或and逻辑与。运算符的优先次序为not、and和or。
5、函数:、函数:
最常见的数据类型转换函数有以下3个:To_char:将其他类型数据转换为字符型。To_date:将其他类型数据转换为日期型。To_number:将其他类型数据转换为数值型。