数据库Oracle创建一个触发器插入未录入的学生信息数据输出“插入成功!”,若插入的学生信息已存在,则输出“该学生信息已存在,插入失败!”
时间: 2024-02-21 07:01:17 浏览: 108
可以使用以下代码创建一个Oracle触发器,实现插入未录入的学生信息数据时输出“插入成功!”,若插入的学生信息已存在,则输出“该学生信息已存在,插入失败!”
```sql
CREATE OR REPLACE TRIGGER insert_student_info
BEFORE INSERT ON student_info
FOR EACH ROW
DECLARE
count_num NUMBER;
BEGIN
SELECT COUNT(*) INTO count_num FROM student_info WHERE student_id = :NEW.student_id;
IF count_num = 0 THEN
DBMS_OUTPUT.PUT_LINE('插入成功!');
ELSE
DBMS_OUTPUT.PUT_LINE('该学生信息已存在,插入失败!');
RAISE_APPLICATION_ERROR(-20001, '该学生信息已存在,插入失败!');
END IF;
END;
```
其中,`student_info` 为学生信息表,`student_id` 为学生编号的列名。触发器通过查询学生信息表中是否已存在该学生编号的记录来判断是否已存在该学生信息。如果已存在,则输出错误信息并抛出自定义的异常;否则输出“插入成功!”。
阅读全文