1、定义表TAB,并在其上定义触发器TRI,在对TAB的插入和更新前检查,如果插入或更新的值在100-1000之间的话,将值置为50;如果值大于1000的话,则给出新值不允许大于1000的提示。 (1)向表TAB插入数据(150)。 (2)对表中的数据进行更新,将20更新为1500,是否能正常执行,系统会出现什么情况? 2、删除触发器TR怎么在SQL Server Management Studio Management Studio 19实现I
时间: 2024-01-22 20:20:49 浏览: 38
1. 定义表TAB并创建触发器TRI:
```sql
CREATE TABLE TAB (
ID INT PRIMARY KEY,
VALUE INT
);
CREATE TRIGGER TRI
ON TAB
FOR INSERT, UPDATE
AS
BEGIN
IF EXISTS (
SELECT *
FROM inserted
WHERE VALUE BETWEEN 100 AND 1000
BEGIN
UPDATE TAB
SET VALUE = 50
FROM TAB
INNER JOIN inserted ON TAB.ID = inserted.ID
WHERE VALUE BETWEEN 100 AND 1000
END
IF EXISTS (
SELECT *
FROM inserted
WHERE VALUE > 1000
)
BEGIN
RAISERROR('New value cannot be greater than 1000', 16, 1)
ROLLBACK TRANSACTION
END
END;
```
2. 向表TAB插入数据(150):
```sql
INSERT INTO TAB (ID, VALUE)
VALUES (1, 150);
```
此时触发器TRI会将值置为50。
3. 对表中的数据进行更新,将20更新为1500:
```sql
UPDATE TAB
SET VALUE = 1500
WHERE ID = 1;
```
此时触发器TRI会抛出错误,事务会被回滚,更新不会生效。
4. 删除触发器TRI可以使用以下语句:
```sql
DROP TRIGGER TRI ON TAB;
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)