###前提・実現したいこと
C#画面からSQL Serverを呼び出して以下の処理(複数もしくはいずれか)を行いたい。
①DELETE
➁INSERT
③DELETE/INSERT
テーブルキー項目の変更(ドロップダウン)ができる仕様です。
その為、キー列項目の入れ替えを行う際に③DELETE/INSERTの処理をしようとしています。
###発生している問題・エラーメッセージ
キー項目の重複チェックでエラーが発生しています。
また、①DELETE・②INSERTの処理は単体で動きます。
1つのストアドに①~③までの処理を書き込んでいますが、それが良くないのでしょうか…。
(C#側からの呼び出しは1回のみです。)
###該当のソースコード
sql
1begin tran 2 IF @val_EDIT_FLG = '2' 3 BEGIN 4 DELETE FROM 5 [MS_UP_DTL] 6 WHERE 7 [a_CD] = @key_a_CD 8 AND [b_CD] = @key_b_CD 9 AND [c_CD] = @key_c_CD 10 AND [d_CD] = @key_d_CD 11 12 END 13 14commit tran 15 16begin tran 17 IF @val_EDIT_FLG = '1' OR @val_EDIT_FLG = '2' 18 BEGIN 19 IF @val_DEL_FLG = '0' 20 BEGIN 21 INSERT INTO [MS_UP_DTL] 22 ( 23 [a_CD] 24 , [b_CD] 25 , [c_CD] 26 27 , [d_CD] 28 , [HYOJI_JUN] 29 , [REG_PROGRAM_ID] 30 , [REG_USER_ID] 31 , [REG_DTTM] 32 , [UPD_PROGRAM_ID] 33 , [UPD_USER_ID] 34 , [UPD_DTTM] 35 , [DEL_FLG] 36 ) 37 VALUES 38 ( 39 @key_a_CD 40 , @key_b_CD 41 , @c_CD 42 , @d_CD 43 44 , @val_HYOJI_JUN 45 , @PROGRAM_ID 46 , @val_USER_ID 47 , getdate() 48 , @PROGRAM_ID 49 , @val_USER_ID 50 , getdate() 51 , @val_DEL_FLG 52 ) 53 54 END 55 56 END 57commit tran 58
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。