私はIdDatoLegal列を更新する必要が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]
)
今、このテーブルを持っています。今はそのテーブルに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.
私は、サブクエリで(BY ROW_NUMBER()OVER(ORDERを選択ので、だと思いますIdCliente)AS RowNum FROM DatosLegales)それは1つだけを返すべきであるところで80行を返します(ただし、別の番号でなければなりません)。
サブクエリはそれを動作させるには?そしてとりわけ、ループとその他の手順は正しいのですか?事前
は、SQL Serverを使用していますか? – luchosrock
@luchosrock - 構文、角括弧区切り文字、およびエラーメッセージは、SQL Serverを示しています(おそらく、Sybaseには同じエラーメッセージが表示されます)。 –