📜  pl sql 案例 - SQL (1)

📅  最后修改于: 2023-12-03 15:03:47.227000             🧑  作者: Mango

PL/SQL案例 - SQL

PL/SQL是一种编程语言,与SQL相结合,可用于编写存储过程、触发器、函数等程序。本文将介绍一些PL/SQL与SQL结合使用的案例。

案例一 - 创建存储过程

存储过程可以将一系列的SQL语句打包成一个单独的程序,便于调用和维护。以下示例演示如何创建一个简单的存储过程,查询员工表中的信息。

CREATE OR REPLACE PROCEDURE show_emp_info AS
BEGIN
  SELECT *
  FROM employees;
END;
案例二 - 触发器

触发器可以在数据库中的表被插入、更新或删除时自动执行相应的操作。以下示例演示如何创建一个触发器,在员工表被插入数据时向日志表中添加一条记录。

CREATE OR REPLACE TRIGGER add_emp_log
AFTER INSERT ON employees
FOR EACH ROW
BEGIN
  INSERT INTO emp_log (emp_id, emp_name, action)
  VALUES (:NEW.emp_id, :NEW.emp_name, 'INSERT');
END;
案例三 - 函数

函数是一段可以被调用的PL/SQL代码块,可以接受输入参数并返回一个结果。以下示例演示如何创建一个函数,计算给定员工ID的平均薪资。

CREATE OR REPLACE FUNCTION get_avg_salary (emp_id IN NUMBER) RETURN NUMBER AS
  avg_salary NUMBER(10,2);
BEGIN
  SELECT AVG(salary)
  INTO avg_salary
  FROM salaries
  WHERE employee_id = emp_id;
  
  RETURN avg_salary;
END;

以上三个案例展示了PL/SQL与SQL结合使用的常见用法。程序员可以根据具体需求,灵活使用PL/SQL和SQL开发出更多实用的程序。