複数の更新文を生成する必要があります。複数のUPDATE文を生成して実行する
このコード:
DECLARE @query as varchar(max);
SET @query =
'declare @data_dzis as nvarchar(10)
declare @data_wczoraj as nvarchar(10)
SELECT @data_dzis=convert(varchar,convert(int,convert(datetime,convert(date,GETDATE()))))
SELECT @data_wczoraj=convert(varchar,convert(int,convert(datetime,convert(date,GETDATE()-1))))
Select
''update V_''+IdStr + '' set start='' + @data_wczoraj + '' where DataVersionId=0 and start='' + @data_dzis +'';''
FROM [KW_GRECOS].[dbo].[Variable]
where Granularity=0 and IdStr<>''_ROOT_FOLDER_'''
exec(@query);
...レコードセットとしてアップデートのリストを生成します。
update V_G012 set start=43085 where DataVersionId=0 and start=43086;
update V_G059 set start=43085 where DataVersionId=0 and start=43086;
update V_G002a set start=43085 where DataVersionId=0 and start=43086;
update V_G0122 set start=43085 where DataVersionId=0 and start=43086;
update V_103D set start=43085 where DataVersionId=0 and start=43086;
update V_G072 set start=43085 where DataVersionId=0 and start=43086;
update V_G201 set start=43085 where DataVersionId=0 and start=43086;
update V_G001a set start=43085 where DataVersionId=0 and start=43086;
update V_G067a set start=43085 where DataVersionId=0 and start=43086;
私はそれらを自動的に実行する方法がわかりません。 私はそれらをコピーして手動で実行する必要がありましたが、それは私の問題ではありません。
をテストしていない@queryにすべてのことをする必要はありません[動的SQL-EXEC(@SQL)とEXEC SP \ _EXECUTESQL(@SQL)]の複製(https://stackoverflow.com/questions/548090/dynamic-sql-execsql-versus-exec-sp-executesqlsql) –
エラーが出ていますか?エラーがない場合はどのような問題? – Paparazzi