ライブ データベースの価格テーブルを更新するストアド プロシージャを変更する必要があります。MS SQL Server 2005 を使用しており、ストアド プロシージャは SAP BI でクエリとして使用されています。
私はこの部分を持っています:
SET @cmd ='Update PriceList 5'
SET @sql ='UPDATE a SET a.price= round( (b.price*0.9),0), a.currency=b.currency FROM ['+@trgDB+'].[dbo].[ITM1] a '
SET @sql =@sql+' INNER JOIN ['+@trgDB+'].[dbo].[ITM1] b ON ( a.ItemCode=b.itemcode AND b.PriceList=1) '
SET @sql =@sql+' WHERE a.PriceList=5 '
IF @filter IS NOT NULL BEGIN
SET @sql =@sql+' AND a.[ItemCode] LIKE '+char(39)+@filter+'%'+char(39)+' '
SET @cmd = @cmd+' ('+@filter+'%'+') '
END
これにより、フィルターに従ってすべてのアイテムの価格が更新されます。一部の項目を変更せずに残しておく必要があるため、上記のコードに NOT LIKE 'VSK%' AND NOT LIKE 'VFH%' を追加するにはどうすればよいですか? フッターが省略されていても問題ありませんが、 NOT LIKE 'VSK%' AND NOT LIKE 'VFH%' を除くすべての価格を更新する必要があります。