如何得到SQLSERVER触发器(删除型)中DELETED表中的值?

zhaofansym 2001-12-11 01:22:49
CREATE TRIGGER [DELETECourse] ON [dbo].[COURSE]
FOR DELETE
AS
DECLARE @CourseID varChar(15)
SET @CourseID=LTRIM( STR( deleted.Course_id ) )

报错误107:列前缀‘deleted’与查询中用的表名和别名不匹配
...全文
292 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
昵称被占用了 2001-12-11
  • 打赏
  • 举报
回复
呵呵,应该改为 TOP 1 能保证你一次删多条时不出错!
zhaofansym 2001-12-11
  • 打赏
  • 举报
回复
N_chow(一劍飄香):
TOP1是什么?我用了一下,语法检查有错
zhaofansym 2001-12-11
  • 打赏
  • 举报
回复
Haiwer(海阔天空)的方法可以,我目前只需要每次只删除一条记录
我是新手,正在想办法给分
N_chow 2001-12-11
  • 打赏
  • 举报
回复
CREATE TRIGGER [DELETECourse] ON [dbo].[COURSE]
FOR DELETE
AS
DECLARE @CourseID varChar(15)
SELECT Top1 @CourseID=LTRIM( STR( deleted.Course_id ) )from deleted

--最好是用一個Cursor來取值,因為當刪多筆時,deleted中會有多筆資料。

昵称被占用了 2001-12-11
  • 打赏
  • 举报
回复
可以改为
DECLARE @CourseID varChar(15)
select @CourseID=LTRIM( STR( Course_id ) ) from deleted

但是,这样写触发器只能处理每次只删除一条记录的情况.


zhaofansym 2001-12-11
  • 打赏
  • 举报
回复
请nononono(null,null)兄帮忙
zhaofansym 2001-12-11
  • 打赏
  • 举报
回复
请高手帮帮我!

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧