我必须在表的一列中更新大约40行,并在sybase ASE中以负数-1,-2,-3,-4等增加数字。任何人都可以告诉你怎么做
答案 0 :(得分:0)
Raj,ASE中的标识值不能设置为按需要维护一系列负值。这样就消除了最简单的方法。
让我们假设您的表格如下:
CREATE TABLE cars (
id not null,
name varchar(20),
serial int null
)
其中serial
是可能包含NULL值的列。
您可以在表上创建一个触发器,以便在它为空时更新serial
。
或者,如果您尝试更新此表中的现有值,则可以运行以下代码40次:
UPDATE cars
SET serial = -(SELECT COUNT(*) FROM cars WHERE serial IS NULL)
WHERE id = (SELECT MAX(id) FROM cars WHERE serial IS NULL)
当然,对于40行手动更新值听起来很有吸引力!