一。触发器里的INSERTED和UPDATED有什么区别呢?我试了下,发现两个都能获得更改的数据(而不管我的SQL语句是insert还是update)
二。我想写一个存储过程来create database,但用begin transaction建立事务时,提示在多语句事务内不允许使用 CREATE DATABASE 语句。那对于create database该怎么使用事务呢?(事务里不光包括create database,还有对其他一些数据表的更改)。
我使用的是SQL Server 2008。
谢谢!!!
关于SQL Server里的两个问题(触发器和事务),请大侠们教教小弟!
答案:3 悬赏:10 手机版
解决时间 2021-02-15 18:03
- 提问者网友:孤凫
- 2021-02-15 07:36
最佳答案
- 五星知识达人网友:低音帝王
- 2021-02-15 07:47
1.触发器里面只有INSERTED 和 DELETED2个虚拟表。。没有UPDATED表。。
INSERTED表里面含有插入的数据或者更新的新数据。
DELETED表里面含有删除的数据或者更新的旧数据。
2.create database语句是独立成为一个事务的语句。。不能在过程里面写create database语句
INSERTED表里面含有插入的数据或者更新的新数据。
DELETED表里面含有删除的数据或者更新的旧数据。
2.create database语句是独立成为一个事务的语句。。不能在过程里面写create database语句
全部回答
- 1楼网友:怀裏藏嬌
- 2021-02-15 10:13
create trigger insertedata
on test01
for insert
as
begin
declare @id int
set @id=(select id from inserted)
insert into test02(id,列名2) values(@id,'值2')
end
- 2楼网友:慢性怪人
- 2021-02-15 08:54
首先,DDL是不支持事务的。 可以把DDL每条语句看成是一个独立的事务。所以,避免事务嵌套,你最好把Create database语句与其他事务分开。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯