更新语句不起作用

Posted

技术标签:

【中文标题】更新语句不起作用【英文标题】:Update statement is not working 【发布时间】:2013-01-04 08:19:41 【问题描述】:

任何人都可以就下面提到的代码提出更新语句在 SQL-SERVER-2008 中不起作用的原因

UPDATE [dbo].[CTRL_SECURITY]
SET BI_FIN_FLG = ISNULL(CAF.BI_FIN_FLG,'N'), 
           BI_HR_FLG = ISNULL(CAF.BI_HR_FLG,'N')
FROM dbo.CTRL_APP_FLG AS CAF
LEFT JOIN [dbo].[CTRL_SECURITY] AS CS
      ON CAF.TABLE_COLUMN_VALUE = CAST(CS.ACCOUNT_ID AS VARCHAR(180))
   WHERE ACCOUNT_ID IN(SELECT TABLE_COLUMN_VALUE FROM dbo.CTRL_APP_FLG WHERE TABLE_NAME='DIM_ACCOUNT')

【问题讨论】:

供将来参考“不工作”并不是从人们那里获得帮助的好起点 - 尝试解释什么方式事情不工作 - 你明白吗错误信息? (如果有,包括) 意外结果? (如果有,包括样本数据、预期结果和实际结果,并说明预期结果) 可能需要在 UPDATE CS 上替换 UPDATE [dbo].[CTRL_SECURITY] 你收到什么错误,它根本没有更新任何东西吗? 【参考方案1】:

将 UPDATE [dbo].[CTRL_SECURITY] 更改为 UPDATE CS

【讨论】:

或者,对于这个表,去掉别名并在所有地方以完整格式引用[dbo].[CTRL_SECURITY]。

以上是关于更新语句不起作用的主要内容,如果未能解决你的问题,请参考以下文章

访问更新语句在 C# 中不起作用

相同的更新 - 内部连接语句不起作用?

Ms Access SQL 更新语句不起作用

带有 Access 的 Dapper,更新语句部分不起作用

SQL Server:合并语句的更新部分不起作用

部分更新在过程中不起作用