社区
MS-SQL Server
帖子详情
instead of update 触发器不能执行以下语句
hncxxs
2003-11-08 09:17:57
declare @sql varchar(1000)
set @sql= ' update kaoqi set code=''xs200 '''
execute()@sql
...全文
88
11
打赏
收藏
instead of update 触发器不能执行以下语句
declare @sql varchar(1000) set @sql= ' update kaoqi set code=''xs200 ''' execute()@sql
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hncxxs
2003-11-08
打赏
举报
回复
但是我如果直接寫update Employee set name='xs400 ' 就可以更新數據,何解?
instead 本來就是替換觸發器
zjcxc
元老
2003-11-08
打赏
举报
回复
表自己的instead更新自己当然不行。那样会产生递归触发。不支持的。
shanhx
2003-11-08
打赏
举报
回复
我觉得这里的人都很历害﹐还是自已太菜了﹐呵呵。学习ing..,,.
hncxxs
2003-11-08
打赏
举报
回复
CREATE TRIGGER trg_upd ON [dbo].[kaoqi]
instead of update
AS
declare @sql varchar(1000)
set @sql= ' update Employee set name=''xs400 '''
exec( @sql)
hncxxs
2003-11-08
打赏
举报
回复
我说的是表自己的instead更新自己 kaoqi 的instead of 更新kaoqi ,更新其他表没有问题的.
hncxxs
2003-11-08
打赏
举报
回复
语法检查是没有问题的,不过执行结果并没有改变数据
zjcxc
元老
2003-11-08
打赏
举报
回复
--肯定行啦
--测试表
create table test(id int)
create table kaoqi(code varchar(10))
go
--测试触发器
create trigger t_test on test
instead of update
as
declare @sql varchar(1000)
set @sql= 'update kaoqi set code=''xs200 '''
execute(@sql)
go
--插入数据
insert into test values(1)
insert into kaoqi values('a')
--更新以测试触发器
update test set id=1
--显示结果
select * from kaoqi
drop table test,kaoqi
wzh1215
2003-11-08
打赏
举报
回复
declare @sql varchar(1000)
set @sql= ' update kaoqi set code=''xs200 '''
execute(@sql)
也可以!
hncxxs
2003-11-08
打赏
举报
回复
因为update语句式动态的,以上我只
是举个例子,instead 触发器好像不能执行exec(@sql)这种形式的语句。
是否有其他办法在instead 中能执行exec(@sql)这种形式的语句。
wzh1215
2003-11-08
打赏
举报
回复
直接用:
update kaoqi set code='xs200'
就行了!
hncxxs
2003-11-08
打赏
举报
回复
刚才写错了,应该是这样:
declare @sql varchar(1000)
set @sql= ' update kaoqi set code=''xs200 '''
execute(@sql)
insteadof
触发器
.pdf
INSTEAD OF
触发器
的主要特性在于,它可以在表或视图上设置,并且当试图
执行
INSERT、
UPDATE
或DELETE操作时,系统会先
执行
这个
触发器
的代码,而不是直接
执行
原生的DML(Data Manipulation Language)
语句
。这为我们...
触发器
---FOR INSERT与INSTEAD OF
FOR INSERT
触发器
是在INSERT操作完成后
执行
的,而INSTEAD OF
触发器
是用
触发器
来代替INSERT
语句
的
执行
。FOR INSERT
触发器
可以用来
执行
一些附加的操作,而INSTEAD OF
触发器
可以用来代替INSERT
语句
的
执行
。 使用SQL ...
insteadof
触发器
汇编.pdf
文件内容提到了“instead of insert”、“instead of
update
”和“instead of delete”,这表明
触发器
可以在这些操作尝试发生时,
执行
定义在
触发器
内部的代码。 4.
触发器
与事务处理:在定义INSTEAD OF
触发器
时,...
如何使用SQL
语句
创建
触发器
- `Grade_modify`在`Student_view`视图上创建了一个INSTEAD OF
UPDATE
触发器
。与AFTER
触发器
不同,INSTEAD OF
触发器
在试图进行更新操作时立即
执行
,而不是在操作完成后。这个
触发器
的作用是,当尝试更新`Student_...
数据库学习中的
触发器
5. **级联操作和
触发器
**:如果表的外键有级联设置,就
不能
定义INSTEAD OF DELETE或INSTEAD OF
UPDATE
触发器
。 6. **禁止的
语句
**:
触发器
不能
包含DROP
语句
,也
不能
创建或修改数据库对象。 7. **结果返回**:
触发器
...
MS-SQL Server
34,668
社区成员
254,633
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章