gpt4 book ai didi

SQL Server : increment INT column using variable

转载 作者:行者123 更新时间:2023-12-02 05:08:41 25 4
gpt4 key购买 nike

尝试根据另一个字段将订单列插入到某些记录中。通常在 MySQL 中这不是问题,但在 SQL Server 中我不太理解这里的语法。

这就是我所拥有的:

DECLARE @a int
SET @a = 1

UPDATE tablename
SET order_position = @a:=@a+1
WHERE table_id = xxx

但我的一部分认为这是沿着函数/过程的路线进行,而不是一次点击UPDATE查询。

抱歉,但我是作为 MySQL 数据库人员写的,不熟悉 SQL Server 的变量,因此可能有点错误。

我需要在大量记录上逐条运行它,并且我希望 order_position 列为 1-7(其中有 7 条记录),等等。

谢谢克里斯

最佳答案

试试这个代码:

DECLARE @a int
SET @a = 1
UPDATE tablename SET order_position = @a, @a=@a+1 WHERE table_id = xxx

您正在尝试执行双重分配,这就是问题所在。 "order_position = @a:=@a+1" 有 2 种解释,一种是您知道的,另一种是递增 a 的结果,成功的是 order_position 值中应该包含的内容。

关于SQL Server : increment INT column using variable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17999360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com