首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止UpdateCommand语句中转换的字段被同一UpdateCommand语句覆盖?

如何防止UpdateCommand语句中转换的字段被同一UpdateCommand语句覆盖?
EN

Stack Overflow用户
提问于 2014-01-28 21:17:22
回答 1查看 40关注 0票数 0

我正在创建一份报告,统计每周更新记录的次数。

听起来很简单,对吧?让我在这一挑战中加入一些复杂性。

我面临的挑战是,我使用的日期范围依赖于另一个字段,如果更新了它,它将把报告完全抛出。通过下面的示例,我将尽量保持这一点:

所以我有张桌子

代码语言:javascript
复制
book.book_keeping_2014

该表中的列如下:

代码语言:javascript
复制
record_number - Automatically generated by a SEQUENCE command
amount
record_name
record_updated

数据库中的记录已经存在,最好只更新一次。

记录名称具有特定的格式,在该格式中,日期优先于文件信息的其余部分。一个示例文件名是:

代码语言:javascript
复制
20140106-blah-blah-blah-blah.txt

下面是我为UpdateCommand定义的内容:

代码语言:javascript
复制
UPDATE book.book_keeping_2014 SET [amount] = @amount, 
record_name = @record_name, record_updated = LEFT(record_name,8)  
WHERE [record_number] = @record_number

所以record_name字段中的这个条目-

代码语言:javascript
复制
20140106-blah-blah-blah-blah(etc).txt

将以下列方式输入record_updated字段:

代码语言:javascript
复制
20140106

就其本身而言,代码工作正常。但是,record_name列中的给定单元可能需要更新的奇怪时间。基于上面的UpdateCommand,如果record_name字段得到更新,record_updated字段也会更新。

我面临的挑战是,如果我为一月的第一周做一次每周的报告,然后我在一月的第四周更新了记录,这就会抛出一份报告。月报也是如此。

我的问题是,如何防止/重新编码我的Update语句,以便当左命令第一次提取正确的信息时不会被覆盖?

对于日期转换场景,我也有类似的挑战,但我可能会提出一个不同的问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-28 21:23:31

如果可以更改表的结构,则可以为HasUpdated添加一个标志。然后,在查询中,只更新HasUpdated = 0的行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21417037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档