我有这个表,现在如何通过Row_Number更新每列的不同值的列?
CREATE TABLE [dbo].[DatosLegales](
[IdCliente] [int] NOT NULL,
[IdDatoLegal] [int] NULL,
[Nombre] [varchar](max) NULL,
[RFC] [varchar](13) NULL,
[CURP] [varchar](20) NULL,
[IMSS] [varchar](20) NULL,
[Calle] [varchar](100) NULL,
[Numero] [varchar](10) NULL,
[Colonia] [varchar](100) NULL,
[Pais] [varchar](50) NULL,
[Estado] [varchar](50) NULL,
[Ciudad] [varchar](50) NULL,
[CodigoPostal] [varchar](10) NULL,
[Telefono] [varchar](13) NULL,
[TipoEmpresa] [varchar](20) NULL,
[Tipo] [varchar](20) NULL,
CONSTRAINT [PK_DatosLegales] PRIMARY KEY CLUSTERED
(
[IdCliente] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
)
我需要更新IdDatoLegal列。现在我在该表上有80行,所以我需要用数字1,2,3 ... 79,80来更新每一行。
我试过简单的查询存储过程,根本没有成功。
我有这个商店的程序现在:
它,当我运行返回此消息时,它
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
我想这是因为在子查询(SELECT ROW_NUMBER)OVER(ORDER BY( IdCliente)AS RowNum FROM DatosLegales)它返回80行,它应该只返回一个(但每次它应该是一个不同的数字)
你知道我必须添加到子查询使其工作?最重要的是,循环和程序的其余部分是否正确?
在此先感谢
您使用的是SQL Server吗? – luchosrock
@luchosrock - 语法,方括号分隔符和错误消息指示SQL Server(尽管可能是Sybase,如果它具有相同的错误消息,我想)。 –