可以给一个表变量添加触发器么?

zp975800 2011-01-19 12:13:52

declare @stuWp table
(
FrameID nvarchar(50),
stuDate varchar(20),
stuTotal float
)
--stuDate是一个smalldatetime的值
insert into @stuWp select FrameID,convert(varchar(10),datepart(year,stuDate))+convert(varchar(10),datepart(month,stuDate)),stuTotal from WPS_STUDENT_WP where ( convert(varchar(10),datepart(year,stuDate))+convert(varchar(10),datepart(month,stuDate))='201012')and(stuStudent = 'true')
--可以这样写么?
create trigger del_stuWp on @stuWp for delete
as
begin
declare @frameID nvarchar(50)
declare @stuTotal float
select @frameID=FrameID,@stuTotal=stuTotal from deleted
update WPS_STUDENT_INFO set stuBalance -@stuTotal where (FrameID=@frameID)
end
delete from @stuWp


消息 111,级别 15,状态 1,第 14 行
'CREATE TRIGGER' 必须是查询批次中的第一个语句。
...全文
49 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
AcHerat 元老 2011-01-19
  • 打赏
  • 举报
回复
至于你的错误信息,在insert into语句最后加个go。
叶子 2011-01-19
  • 打赏
  • 举报
回复
没听说过给表变量加触发器的。

表变量也是一个变量。
如果存在一种叫“变量表”的东东,估计就可以加触发器了。
王向飞 2011-01-19
  • 打赏
  • 举报
回复
你做成一个实体表不行吗?
kevin_long 2011-01-19
  • 打赏
  • 举报
回复
表变量是 什么概念?不懂 来学习了
zp975800 2011-01-19
  • 打赏
  • 举报
回复
那可不可以这样呢,在储存过程最开始先create一个触发器,然后在最后drop 掉

34,590

社区成员

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

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