ストアドプロシージャ内のビューを変更するにはどうすればよいですか?ストアドプロシージャ内のビューの変更
create procedure createviewupdatepenaltypointsconsecutive
as
begin
alter VIEW consecutive
as
WITH cte as (
SELECT *,
LAG([pointsRewarded], 1) OVER (PARTITION BY [EmployeeID] ORDER BY [WeekNumber]) as prev1_points,
LAG([pointsRewarded], 2) OVER (PARTITION BY [EmployeeID] ORDER BY [WeekNumber]) as prev2_points,
LAG([pointsRewarded], 3) OVER (PARTITION BY [EmployeeID] ORDER BY [WeekNumber]) as prev3_points
FROM week1
)
SELECT *,
CASE WHEN [pointsRewarded] = -10 AND prev1_points = -10 AND prev2_points = -10 AND prev3_points = -10
THEN -200
WHEN [pointsRewarded] = -10 AND prev1_points = -10 AND prev2_points = -10
THEN -100
WHEN [pointsRewarded] = -10 AND prev1_points = -10
THEN -50
ELSE 0
END penalty
FROM cte
end
このエラーを取得してM: メッセージ156、レベル15、状態1、プロシージャcreateviewupdatepenaltypointsconsecutive、キーワード '表示' に近いライン4 正しくない構文。 メッセージ319、レベル15、状態1、プロシージャcreateviewupdatepenaltointsconsecutive、行8 'with'キーワードの構文が正しくありません。この文が共通テーブル式、xmlnamespaces句または変更追跡コンテキスト句である場合、前の文はセミコロンで終了する必要があります。
再作成ビューのポイントはである何この手続きは?ビューの定義は何らかの形で変更されていないようですが、ストアドプロシージャはロジックを適用したり、パラメータを取り込んでいません。 –
解決しようとしている問題は、ビューをストアドプロシージャに配置する必要があります。 –