对上述的触发器和存储过程用一条实例进行验证
时间: 2023-07-17 10:11:23 浏览: 133
为了验证上述的触发器和存储过程是否正常工作,我们可以使用以下实例进行测试。
假设我们有一个管理员用户 "admin" 和一个员工用户 "employee",以及一个用户用户 "user"。
1. 首先,我们可以使用管理员用户 "admin" 进行测试:
- 验证管理员视图的投影权限:
```mysql
SELECT * FROM AdminView;
```
- 验证管理员视图的插入权限:
```mysql
INSERT INTO AdminView (work_number, name, gender, age) VALUES ('A001', 'John', 'Male', 30);
```
- 验证管理员视图的更新权限:
```mysql
UPDATE AdminView SET age = 31 WHERE admin_id = 1;
```
2. 接下来,我们可以使用员工用户 "employee" 进行测试:
- 验证用户视图的投影权限:
```mysql
SELECT * FROM UserView;
```
- 验证用户视图的插入权限:
```mysql
INSERT INTO UserView (license_plate, contact, entry_time) VALUES ('ABC123', '1234567890', NOW());
```
- 验证用户视图的更新权限:
```mysql
UPDATE UserView SET exit_time = NOW() WHERE user_id = 1;
```
- 验证操作视图的投影权限:
```mysql
SELECT * FROM OperationView;
```
- 验证操作视图的插入权限:
```mysql
INSERT INTO OperationView (employee_id, user_id, operation_time) VALUES (1, 1, NOW());
```
- 验证操作视图的更新权限:
```mysql
UPDATE OperationView SET operation_time = NOW() WHERE operation_id = 1;
```
- 验证车位信息视图的投影权限:
```mysql
SELECT * FROM ParkingLotView;
```
- 验证车位信息视图的插入权限:
```mysql
INSERT INTO ParkingLotView (availability, unit_price) VALUES (1, 5.00);
```
- 验证车位信息视图的更新权限:
```mysql
UPDATE ParkingLotView SET unit_price = 6.00 WHERE parking_lot_id = 1;
```
3. 最后,我们可以使用用户用户 "user" 进行测试:
- 验证用户视图的投影权限:
```mysql
SELECT * FROM UserView;
```
- 验证用户视图的插入权限:
```mysql
INSERT INTO UserView (license_plate, contact, entry_time) VALUES ('XYZ789', '9876543210', NOW());
```
- 验证用户视图的更新权限:
```mysql
UPDATE UserView SET exit_time = NOW() WHERE user_id = 2;
```
- 验证车位信息视图的投影权限:
```mysql
SELECT * FROM ParkingLotView;
```
- 验证车位信息视图的插入权限:
```mysql
INSERT INTO ParkingLotView (availability, unit_price) VALUES (1, 5.00);
```
- 验证车位信息视图的更新权限:
```mysql
UPDATE ParkingLotView SET unit_price = 6.00 WHERE parking_lot_id = 2;
```
通过执行上述的实例操作,可以验证触发器和存储过程是否按预期工作,并且用户被正确授权了相应的权限。
阅读全文