PL/sql运算符分为:
算术运算符(+,-,*(乘),/(除),mod(取余));注意%不是取余数,而是属性类型的关键符
比较运算符(=,!=,<>.^=,<,>,<=,>=,between and,in,like,is null);注意不等有三种表示(!=,<>.^=)
逻辑运算符(and,or,not)
集合运算符(union,union all,intersect,minus)
连接符(||)
运算符优先级,如下:
算术>连接(||)>比较>not>and>or
其他分隔符:
'(单引号,字符串分隔符)
.(点号,组件分隔符)
()(括号)
:(非pl/sql变量提示符)
,(逗号,项分隔符(表名列名分隔符))
"(双引号,变量分隔符)
@(远程数据库访问)
;(分号,语句结束符)
:=(赋值)
--(单行注释)
/**/(多行注释)
<<>>(定义有名字的pl/sq块,可与goto一起使用,实现跳转)
..(范围操作,for循环中使用)
**(求幂,如10**3表示10的3次方)
->(关联操作符,访问对象属性)
标识符定义规范(标识符可定义常量,变量,异常,显示游标,游标变量,参数,过程,函数,包)
1.每条语句(以;结束)只能定义一个标示符
2.必须以(A-Z,a-z)开头,最大为30个字符,如果用其他字符开头,必须使用双引号(")
3.只能包含A-Z,a-z,0-9,_,$,#,如果要包含其他字符,必须使用双引号(")
4.不能使用关键字,如果一定要使用,必须使用双引号(")
5.如果在赋值的字符串中有单引号
在oracle10之前,必须使用两个单引号,str:='you''re man';
oracle10中可以使用[],{},<>加上q前缀,str:=q'[you're man]';
示例:
PL/sql代码编写规则:
标识符命名规则:
1.定义变量用v_做前缀,例如v_sal,v_job;
2.定义常量用c_做前缀,例如c_sal,c_job;
3.定义游标用_cursor做后缀,例如emp_cursor;
4.定义异常用e_做前缀,例如e_myerror;
5.定义表类型用_table_type做后缀,例如sal_table_type;
6.定义表类型变量时用_table做后缀,例如sal_table;
7.定义记录是用_record_type做后缀,例如emp_record_type;
8.定义记录变量时用_record做后缀,例如emp_record;
大小写规则:
1.sql关键字用大写,例如SELECT,UPDATE,DELETE,INSERT,SET,WHERE,GROUP BY,HAVING等;
2.pl/sql关键字用大写,例如DECLARE,BEGIN,END,EXCEPTION,WHILE,LOOP,END LOOP,IF,ELSIF,CASE
3,数据类型用大写,例如INTEGER,VARCHAR2,DATE;
4.标识符和参数用小写;
5.表名,列名用小写