PL/SQL基础语法
时间:2022-03-13 23:36
有时候我们需要对数据库中的数据进行一些稍微复杂的操作,而且这些操作都是一次性的,用完之后就不再用了。
用存储过程的话就太麻烦,而且浪费,用完了还要去删除。而单个SQL无法满足需求。这时候用一下SQL的语句块就可以了。
如果你用的是Oracle数据库,那么你就可以用PL/SQL(Procedure Language/SQL),即过程化查询语言。这是第三代语言。而我们用的SQL是结构化查询语言,属于第四代语言。
PL/SQL能够实现更加复杂的逻辑操作,像我们使用Java,C等高级语言一样。但如果是在MYSQL/SQLSERVER数据库中,那PL/SQL就无法使用(PL/SQL是属于Oracle的过程查询语言)。
如果你要在MYSQL/SQLSERVER实现复杂的逻辑查询,那你只能通过编写存储过程实现。
一、PL/SQL的结构
[declare] --变量声明(可以省略) --如:my_var varchar(200); begin --SQL语句
[exception] --异常声明(可以省略) end;
例如:
begin for rec IN (select fgwwh, sid$ from t_yw_temp) loop update t_yw_gcjs_lxsq lxsq set lxsq.sid$ = rec.sid$ where lxsq.fgwwh = rec.fgwwh; commit; end loop; end;
二、PL/SQL的基本规则
1、标识符不区分大小写,所有的名称在存储时自动改成大写。
2、标识符只允许字母、数字、下划线,并且以字母开头。
3、不能使用保留字,与保留字同名必须使用双引号括起来。
4、END后需要使用分号结束。
5、字符类型和日期类型需要使用单引号括起来。
建议的写作规范:
1、命名应以“_”的连接方式,而不是用大小写混合的方式,如:p_id(表示名字为id,"p"表示它是一个传进来的参数)。
2、变量前最好加上前缀,以表示该变量的数据类型、作用范围等。
3、每个变量都应加上注释。
4、建议用3个半角空格替代TAB健进行缩进。
5、逗号后面以及操作符前后都应加空格。
三、PL/SQL的注释
-- 单行注释
/* 多行注释 */
四、变量声明
语法结构如下:
variable_name datatype [ [NOT NULL] {:= | DEFAULT} expression ];
以上语法结构最常见的组合方式有两种:
第一种,直接声明变量,不赋值,如:
v_id number;
至于非预定义异常和自定义异常这里不做介绍。