【发布时间】:2009-01-15 10:43:45
【问题描述】:
我继承了一个非常旧的数据库,需要更新一些数据。每行都有一列,其 UniqueID 看起来像 C0042-45-39612。代码的最后 3 个数字是类别 ID(在本例中为 612)。
我需要进行仅针对某些类别的更新,并且我正在使用此 SQL 语句
UPDATE WebbikesProducts SET Price = Price * 1.05 WHERE Convert( Integer, SubString( UniqueID, 3, 3 )) = 125
这里明显的问题是,如果唯一代码末尾没有 3 个数字怎么办?好吧,这正是我遇到的问题,因为并非所有项目都被分类或具有唯一编号,例如 C0049-307-1CHROME。
我无权访问数据库(我从一个 asp 页面调用它),所以我不想创建存储过程。数据库是 SQL 2000。
有什么方法可以忽略出错的行并继续更新其他行?
【问题讨论】:
标签: sql