12.编写存储过程query_emp,实现查找没有津贴的员工信息(津贴字段为comm)。用oracle写出
时间: 2024-12-17 13:50:08 浏览: 2
emp.rar_emp .mvc_mvc员工管理_用mvc员工申请
在Oracle数据库中,你可以使用`CREATE OR REPLACE PROCEDURE`语句来创建一个名为`query_emp`的存储过程,该过程用于查找没有津贴的员工信息。以下是一个简单的存储过程示例:
```sql
CREATE OR REPLACE PROCEDURE query_emp IS
BEGIN
FOR rec IN (SELECT * FROM emp WHERE comm IS NULL) LOOP
DBMS_OUTPUT.PUT_LINE('Employee ID: ' || rec.empno || ', Name: ' || rec.ename || ', Job: ' || rec.job);
DBMS_OUTPUT.PUT_LINE('No commission found for this employee.');
END LOOP;
IF SQL%NOTFOUND THEN
DBMS_OUTPUT.PUT_LINE('No employees with no commission found.');
END IF;
END query_emp;
/
-- 调用存储过程
EXEC query_emp;
```
这个存储过程通过查询`emp`表中的所有comm值为NULL的行,并将结果逐条打印出来。如果没有找到符合条件的员工,它会在输出结束时告知"没有员工没有津贴"。
阅读全文