別のテーブルのレコードを更新するためのストアドプロシージャがあります。このタスクでは、まず、その主キーに関連するすべてのレコードを削除します。次に、挿入クエリを実行します。しかし、そうすると、SQLServerでエラーが発生します。
これがストアドプロシージャです
ALTER PROCEDURE [dbo].[update_HS_HR_LANG]
@appNo Int,
@LCODE VARCHAR(30),
@ABILITY int
AS
BEGIN
DELETE FROM [HS_HR_LANG]
WHERE App_no = @appNo
END
BEGIN
INSERT INTO [HS_HR_LANG] ([App_no], [lang_code], [ability_type])
VALUES (@appNo, @LCODE, @ABILITY)
END
これは私が得るエラーです
スカラー変数「@appNo」を宣言する必要があります
ストアドプロシージャはここで終了します。
ALTER PROCEDURE [dbo].[update_HS_HR_LANG]
@appNo Int,
@LCODE VARCHAR(30),
@ABILITY int
AS
BEGIN
DELETE
FROM [HS_HR_LANG]
WHERE App_no=@appNo
END -- <-----HERE
その後、アクセス@appNo
するとエラーが発生します。
したがって、代わりにこれを使用する必要があります。
ALTER PROCEDURE [dbo].[update_HS_HR_LANG]
@appNo Int,
@LCODE VARCHAR(30),
@ABILITY int
AS
BEGIN -- <----- START
DELETE
FROM [HS_HR_LANG]
WHERE App_no=@appNo
insert into [HS_HR_LANG]
([App_no]
,[lang_code]
,[ability_type])
VALUES
(@appNo,
@LCODE,
@ABILITY)
END -- <----- END
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加