我想将表1中的列更新为10000
这是执行此操作的最佳方法。
环境:Sql Server 2008.
我认为可能是
USE []
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[mytable](
[userid] [int] NULL,
[name] [nchar](10) NULL
) ON [PRIMARY]
GO
insert into mytable(userid,name)Values (1,'a')
insert into mytable(userid,name)Values (6,'b')
insert into mytable(userid,name)Values (7,'c')
insert into mytable(userid,name)Values (8,'d')
insert into mytable(userid,name)Values (9,'e')
GO
然后是错误msg56,Level 15,State 1,Line 2 关键字“INTO”附近的语法不正确。
USE MD
SELECT userid = 0, * FROM mytable INTO #tmp_data
DECLARE @userid int
SET @userid = 0
UPDATE #tmp_data
SET @userid= userid = @userid + 1
我哪里出错了
答案 0 :(得分:2)
语法是
SELECT ... INTO ... FROM ...
UPDATE语句看起来也不正确。但我不知道你想要达到的目的。
答案 1 :(得分:0)
不清楚需要什么。但这会给你一个临时表,增加的用户ID:
SELECT * INTO #tmp_data FROM mytable
UPDATE #tmp_data
SET userid = userid + 1