只对部门号为20的记录进行行触发器操作 删除数据的时候,提示你已经删除的数据信息empno 更新数据的时候,提示你已经更新的数据信息empno 插入数据的时候,提示你插入的数据信息empno 插入数据empno,ename,deptno --:old --inserting,deleting,updating --when deptno=20
时间: 2024-03-16 13:47:29 浏览: 13
好的,根据您的要求,可以使用以下代码实现:
```mysql
CREATE TRIGGER `trigger_emp_info`
BEFORE DELETE OR UPDATE OR INSERT ON `emp`
FOR EACH ROW
BEGIN
IF (OLD.deptno = 20 OR NEW.deptno = 20) THEN
IF (DELETING) THEN
SELECT CONCAT('您已经删除了数据信息 empno:', OLD.empno) AS '提示信息';
ELSEIF (UPDATING) THEN
SELECT CONCAT('您已经更新了数据信息 empno:', NEW.empno) AS '提示信息';
ELSEIF (INSERTING) THEN
SELECT CONCAT('您已经插入了数据信息 empno:', NEW.empno) AS '提示信息';
END IF;
END IF;
END;
```
该触发器会在每次对 `emp` 表进行删除、更新或插入操作时触发。在每次触发时,它会根据操作类型判断并输出相应的提示信息,具体的提示信息包括了操作的数据信息,如删除的数据的 `empno` 等。同时,该触发器只会对部门号为20的记录进行操作。
相关问题
只对部门号为20的记录进行行触发器操作 删除数据的时候,提示你已经删除的数据信息empno 更新数据的时候,提示你已经更新的数据信息empno 插入数据的时候,提示你插入的数据信息empno
好的,针对您的需求,可以使用以下代码实现:
```mysql
CREATE TRIGGER `trigger_emp_info`
BEFORE DELETE OR UPDATE OR INSERT ON `emp`
FOR EACH ROW
BEGIN
IF (NEW.deptno = 20) THEN
IF (DELETING) THEN
SELECT CONCAT('您已经删除了数据信息 empno:', OLD.empno) AS '提示信息';
ELSEIF (UPDATING) THEN
SELECT CONCAT('您已经更新了数据信息 empno:', NEW.empno) AS '提示信息';
ELSEIF (INSERTING) THEN
SELECT CONCAT('您已经插入了数据信息 empno:', NEW.empno) AS '提示信息';
END IF;
END IF;
END;
```
该触发器会在每次对 `emp` 表进行删除、更新或插入操作时触发。在每次触发时,它会根据操作类型判断并输出相应的提示信息,具体的提示信息包括了操作的数据信息,如删除的数据的 `empno` 等。同时,该触发器只会对部门号为20的记录进行操作。
oracle触发器实现不能对emp表中empno列的值进行编辑
可以使用Oracle触发器的BEFORE INSERT和BEFORE UPDATE事件来限制对emp表中empno列的编辑。具体实现方法如下:
1. 创建一个BEFORE INSERT和BEFORE UPDATE触发器:
```
CREATE OR REPLACE TRIGGER emp_no_trigger
BEFORE INSERT OR UPDATE ON emp
FOR EACH ROW
BEGIN
IF :NEW.empno <> :OLD.empno THEN
RAISE_APPLICATION_ERROR(-20001, 'You are not allowed to edit empno column');
END IF;
END;
```
2. 在触发器中,使用IF语句判断新的empno值和旧的empno值是否相同。如果不相同,则抛出一个应用程序错误,提示用户不能编辑empno列的值。
3. 将触发器绑定到emp表上,这样就可以在插入或更新emp表中的数据时执行触发器。
```
ALTER TABLE emp ENABLE ALL TRIGGERS;
```
这样,当用户尝试编辑emp表中的empno列时,触发器将阻止该操作并提示用户不能编辑empno列的值。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)