【原】Oracel-pl/sql-基本语法

(注:主要摘自尚硅谷oracle教程笔记)

pl/sql 程序由三个块组成

  • 声明部分
  • 执行部分
  • 异常处理部分

PL/SQL块的结构

DECLARE 
	/* 声明部分:在此声明PL/SQL 用到的变量,类型及游标,
	以及局部的存储过程和函数
	*/
BEGIN
	 /* 执行部分:过程及SQL语句,即程序的主要部分*/
 EXCEPTION
 	/* 执行异常部分: 错误处理*/
 END;
 
 其中 执行部分是必须的

PL/SQL块可以分三类

  • 无名块:动态构造,只能执行一次
  • 子程序:存储在数据库中的存储过程、函数及包等。当在数据库上建立好后可以在其他程序中调用它们。
  • 触发器:当数据库发生操作时,会触发一些事件,从而自动执行相应的程序。

标识符
PL/SQL 程序设计中的标识符定义与SQL的标识符定义的要求相同,要求和限制有:

  • 标识符名不能超过30字符
  • 第一个字符必须为字母
  • 不分大小写
  • 不能用‘-’(减号)
  • 不能是 SQL 保留字

提示:一般不要把变量名声明与表中字段名完全一样,如果这样可能得不到正确的结果。

建议的命名方法

【原】Oracel-pl/sql-基本语法_第1张图片

示例

1. 使用一个变量

declare
  --声明一个变量
  v_name varchar2(25);
begin
  --通过 select ... into ... 语句为变量赋值
 select last_name into v_name
 from employees
 where employee_id = 186;
 -- 打印变量的值
 dbms_output.put_line(v_name);
end;

2. 使用多个变量

declare
  --声明变量
  v_name varchar2(25);
  v_email varchar2(25);
  v_salary number(8, 2);
  v_job_id varchar2(10);
begin
  --通过 select ... into ... 语句为变量赋值
  --被赋值的变量与SELECT中的列名要一一对应
 select last_name, email, salary, job_id 
 into v_name, v_email, v_salary, v_job_id
 from employees
 where employee_id = 186;

 -- 打印变量的值
 dbms_output.put_line(
 	v_name || ', ' || v_email || ', ' ||  v_salary || ', ' ||  v_job_id
 );
end;

你可能感兴趣的:(数据库学习)