【发布时间】:2015-03-14 07:21:38
【问题描述】:
表[_AUX] 接收来自asp 页面的值(单词'TOJ' 由表单提交)。
根据这些信息,我正在尝试创建一个触发器来更新另一个名为[dbo].[TODOS] 的表。
但我必须随机选择 只有一个 具有“false”值的行,然后将其更改为“true”。
这是我的代码:
IF EXISTS (
select top 1 A.flag
from [DBO].[_AUX] AS A
WHERE a.flag = 'TOJ' order by a.ID_AUX desc
)
update DBO.TODOS set DBO.TODOS.[TOJ_FLAG]='true'
where DBO.TODOS.[TOJ_FLAG] =
(
select top 1 t.[toj_flag], t.TODOS
FROM dbo.todos as t
where t.toj_flag = 'false'
ORDER BY NEWID()
)
我收到来自 sql management studio 的错误:
消息 116,级别 16,状态 1,第 14 行
选择列表中只能指定一个表达式,当 EXISTS 没有引入子查询。
【问题讨论】:
标签: sql sql-server