sql - SQL Server 2012 中的条件存储过程
问题描述
当 2 列(例如 a 和 b)之间的差异大于 0.01 时,我正在尝试更新记录。我不精通存储过程或 T-SQL,但我想要类似的东西
if (a - b > 0.01)
then update statement
解决这个问题的正确策略是什么?
解决方案
如果 a 是来自多个表的列的计算值 -
如果a
Column 与您正在更新的表有关系,那么最好使用条件中的表 Join
和列WHERE
。
Update t
SET Column = ''
From Table t
Join Table1 t1 on t1.a = t.a
WHERE (t.a - b) > 0.01
如果列与您的更新表没有关系,您可以使用IF ELSE
语句a and b
Declare @a int = 1, @b int = 2
IF (@a-@b > 0.01)
BEGIN
-- If you have Update statement without condition then it will update all the Column records
END
ELSE
BEGIN
Print 'FALSE'
-- code block run when condition is FALSE
END
推荐阅读
- python - Python 包名冲突
- python - 只在日志 pyspark 中写我自己的消息
- php - 为什么 PHP 错误处理 PHP 并不总是有效?
- javascript - JS多窗口,在本地
- regex - 具有特定条件的值的正则表达式
- javascript - 如何在 Jquery 中保护全局声明中的数据泄漏
- python - python bisect 比 numpy.searchsorted 快吗?
- java - JRMP连接建立时出错
- jquery - 向滚动的 SVG 曲线添加名称
- angular - Angular 版本更新错误 - 我已将 Angular 版本从 8 更新到最新版本