oracle存储过程案例
时间: 2023-12-12 13:04:45 浏览: 31
以下是一个简单的Oracle存储过程示例,它接受两个参数并在数据库中执行一个简单的SELECT语句:
```
CREATE OR REPLACE PROCEDURE get_employee_info (
p_employee_id IN NUMBER,
p_department_id IN NUMBER )
IS
BEGIN
SELECT employee_name, employee_salary
FROM employees
WHERE employee_id = p_employee_id
AND department_id = p_department_id;
END get_employee_info;
```
该存储过程名为“get_employee_info”,它接受两个参数:p_employee_id和p_department_id。它使用这些参数在employees表中执行SELECT语句,以获取特定员工的姓名和薪水。
要调用此存储过程,请使用以下命令:
```
BEGIN
get_employee_info(100, 10);
END;
```
这将调用该存储过程,并将参数100和10传递给它。存储过程将在后台执行SELECT语句,并返回结果。
相关问题
oracle 存储过程案例
以下是一个简单的 Oracle 存储过程案例:
创建一个存储过程,输入一个员工 ID,输出该员工的姓名和工资。
```sql
CREATE OR REPLACE PROCEDURE get_employee_info (
p_employee_id IN employees.employee_id%TYPE,
p_employee_name OUT employees.last_name%TYPE,
p_salary OUT employees.salary%TYPE
)
IS
BEGIN
SELECT last_name, salary
INTO p_employee_name, p_salary
FROM employees
WHERE employee_id = p_employee_id;
END;
/
```
在这个例子中,我们定义了一个存储过程 `get_employee_info`,它有三个参数:`p_employee_id`、`p_employee_name` 和 `p_salary`。
`p_employee_id` 是输入参数,表示要查询的员工 ID。
`p_employee_name` 和 `p_salary` 是输出参数,表示查询结果中的员工姓名和工资。
在存储过程中,我们使用 `SELECT INTO` 语句查询员工信息,并将结果赋值给输出参数。
最后,我们使用 `/` 符号结束存储过程的定义。
oracle 存储过程案例详细
以下是一个简单的 Oracle 存储过程案例:
```
CREATE OR REPLACE PROCEDURE get_employee(
emp_id IN NUMBER,
emp_name OUT VARCHAR2,
emp_salary OUT NUMBER)
IS
BEGIN
SELECT name, salary INTO emp_name, emp_salary
FROM employees
WHERE id = emp_id;
END;
```
这个存储过程接收一个员工 ID,然后通过查询 employees 表来获取该员工的名称和薪水。在存储过程内部,使用 SELECT INTO 语句将查询结果赋值给 emp_name 和 emp_salary 变量。最后,存储过程结束。
调用这个存储过程的代码如下:
```
DECLARE
v_name VARCHAR2(100);
v_salary NUMBER;
BEGIN
get_employee(1001, v_name, v_salary);
DBMS_OUTPUT.PUT_LINE('Name: ' || v_name);
DBMS_OUTPUT.PUT_LINE('Salary: ' || v_salary);
END;
```
这个代码块声明了两个变量 v_name 和 v_salary,然后调用了存储过程 get_employee,并将结果存储在这两个变量中。最后,通过 DBMS_OUTPUT.PUT_LINE 函数将结果输出到控制台上。
这个简单的案例演示了 Oracle 存储过程的基本语法和用法。在实际应用中,存储过程可以更加复杂和强大,可以执行多个 SQL 查询,支持条件、循环和异常处理等高级功能。