用 sql server语句 写一个 在employee表上,创建一个名为emp_deleted的触发器,其功能为当对employee表进行删除操作时,首先检查要删除的员工是非为人事部门的员工,如果不是的话,可以删除该员工的信息;否则撤销此删除,并显示无法删除的信息
时间: 2024-03-08 14:50:26 浏览: 33
您可以尝试使用如下的 SQL Server 语句来创建 emp_deleted 触发器:
```sql
CREATE TRIGGER emp_deleted
ON employee
FOR DELETE
AS
BEGIN
IF EXISTS (SELECT * FROM deleted WHERE department = '人事部门')
BEGIN
PRINT '无法删除人事部门员工信息!'
ROLLBACK TRANSACTION
END
END
```
以上代码中,`CREATE TRIGGER` 用于创建触发器,`ON employee` 表示在 employee 表上创建触发器,`FOR DELETE` 表示该触发器是在执行删除操作时触发,`IF EXISTS` 判断删除的员工是否为人事部门员工,如果是则执行 `PRINT` 语句输出无法删除的信息,并执行 `ROLLBACK TRANSACTION` 撤销此次删除操作。
相关问题
以empbak表为基础,创建一个名为emp_view的视图
可以使用以下的 SQL 语句创建一个名为 `emp_view` 的视图:
```sql
CREATE VIEW emp_view AS
SELECT empno, ename, hiredate, deptno
FROM empbak;
```
这个视图会基于 `empbak` 表创建,包含 `empno`、`ename`、`hiredate` 和 `deptno` 这几个列。你可以通过以下的方式查询这个视图:
```sql
SELECT * FROM emp_view;
```
这会返回 `emp_view` 视图中所有的行和列。注意,视图只是一个虚拟表,实际的数据仍然存储在 `empbak` 表中。
定义一个表tbl_Emp_Log(eNO, eSalary, Username, ModiDate); --在职工表上定义修改和插入数据的触发器。
下面是在tbl_Emp_Log表上定义修改和插入数据的触发器的示例代码:
-- 创建触发器
CREATE TRIGGER trg_Emp_Log
ON tbl_Emp
AFTER INSERT, UPDATE
AS
BEGIN
-- 插入修改记录到tbl_Emp_Log表中
INSERT INTO tbl_Emp_Log (eNO, eSalary, Username, ModiDate)
SELECT
i.eNO,
i.eSalary,
SUSER_SNAME(),
GETDATE()
FROM inserted i;
END;
这个触发器将在tbl_Emp表上的每次插入或更新操作后自动触发。它将会把修改的信息插入到tbl_Emp_Log表中,包括工号eNO、薪水eSalary、修改人Username以及修改时间ModiDate。其中,SUSER_SNAME()函数用于获取当前用户的用户名,GETDATE()函数用于获取当前时间。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)