oracle编写存储过程根据员工号查询员工全部信息
时间: 2023-07-22 11:16:59 浏览: 60
好的,以下是一个简单的Oracle存储过程,可以根据员工号查询员工的全部信息:
```sql
CREATE OR REPLACE PROCEDURE get_employee_info(
p_empno IN NUMBER,
p_cursor OUT SYS_REFCURSOR
)
AS
BEGIN
OPEN p_cursor FOR
SELECT * FROM emp WHERE empno = p_empno;
END;
```
这个存储过程接受一个员工号作为输入参数,然后使用一个游标返回符合条件的员工记录的全部信息。你可以通过调用这个存储过程来查询员工信息,例如:
```sql
DECLARE
emp_cursor SYS_REFCURSOR;
emp_record emp%ROWTYPE;
BEGIN
get_employee_info(7369, emp_cursor);
LOOP
FETCH emp_cursor INTO emp_record;
EXIT WHEN emp_cursor%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(emp_record.empno || ', ' || emp_record.ename || ', ' || emp_record.job);
END LOOP;
CLOSE emp_cursor;
END;
```
这个例子演示了如何使用游标来遍历符合条件的员工记录,并将它们的编号、姓名和工作职位输出到控制台。