alter trigger grigger_change_delete on [Game]
/*for update*/
after update
as
if not exists(select 1 from deleted d join inserted i on d.[ID]=i.[ID] and d.stateID=1 and i.stateID=2)
/*如果不是由1变成2的,就终止执行*/
return
else
begin
if((select [stateID] from inserted)=2)
begin
/*当stateid值变成2时,将所有与之公司id对应的赔率表中的信息删除*/declare @gameid intset @gameid=(select [ID] from deleted d join inserted i on d.[ID]=i.[ID] and d.stateID=1 and i.stateID=2)/*问题就出在这里*/
delete [AbPayoutRate] where [HashCode] in (select [abid] from [Game] where [ID]=@gameid)delete [AsePayoutRate] where [HashCode] in (select [aseid] from [Game] where [ID]=@gameid)delete [AstPayoutRate] where [HashCode] in (select [astid] from [Game] where [ID]=@gameid)delete [BinPayoutRate] where [HashCode] in (select [binID] from [Game] where [ID]=@gameid)delete [DaPayoutRate] where [HashCode] in (select [daID] from [Game] where [ID]=@gameid)delete [GaPayoutRate] where [HashCode] in (select [gaID] from [Game] where [ID]=@gameid)delete [HdPayoutRate] where [HashCode] in (select [hdID] from [Game] where [ID]=@gameid)delete [JpPayoutRate] where [HashCode] in (select [jpID] from [Game] where [ID]=@gameid)delete [SbPayoutRate] where [HashCode] in (select [sbID] from [Game] where [ID]=@gameid)delete [TaPayoutRate] where [HashCode] in (select [taID] from [Game] where [ID]=@gameid)
end
end
解决方案 »
- 问一个将一个字段中的多个数据竖着列出的问题啊!
- 一个我认为比较难的问题,EXCEL电子表格导入到 SQL里
- 查询分析器的问题?---送分!!!
- 只有10分了!大家帮我看看这个游标的问题,为什么执行不过去了啊!急!!!!!!!!!!!!!!!!
- 这样的查询速度为什么还会超时????????
- 求一个SQL语句能实现如下查询,高手来解题!!!
- 把for循环的select结果集 select显示出来
- 关于creat veiew 视图创建的问题…………
- 请问如何把一个文件夹(包括里面的文件和子文件夹)放到SQL Server数据库中的表里?
- 请教有关'的问题,特急!!
- 求一SQL语句或者其他的解决方法,急!!!
- 关于DataTable的查询问题
这里的id前要加表别名
select d.[ID] from deleted d
或
select i.[ID] from deleted d
-->>
select d.[ID] from deleted d join inserted i on d.[ID]=i.[ID] and d.stateID=1 and i.stateID=2
或
select i.[ID] from deleted d join inserted i on d.[ID]=i.[ID] and d.stateID=1 and i.stateID=2
这个里面的SELECT [ID]不明确,要指定是哪一个表的