質問編集履歴

2

誤記修正

2019/10/10 06:57

投稿

ya_ay
ya_ay

スコア13

test CHANGED
File without changes
test CHANGED
@@ -72,7 +72,7 @@
72
72
 
73
73
 
74
74
 
75
- SELECT *FROM MC_STATUS WITH (TABLOCK)
75
+ SELECT *FROM Aテーブル WITH (TABLOCK)
76
76
 
77
77
  SET NOCOUNT ON;
78
78
 

1

トリガのコードを追記

2019/10/10 06:57

投稿

ya_ay
ya_ay

スコア13

test CHANGED
File without changes
test CHANGED
@@ -47,3 +47,75 @@
47
47
  対策等あれがご教示ください。
48
48
 
49
49
  よろしくお願いします。
50
+
51
+
52
+
53
+ ----------------------------------------------
54
+
55
+ 追記
56
+
57
+ トリガの内容を追記します。
58
+
59
+ それと、bテーブルについて記載がありませんでした。
60
+
61
+ Bはトリガ内で使用しています。
62
+
63
+
64
+
65
+ ```ここに言語を入力
66
+
67
+ INSTED OF INSERT
68
+
69
+ AS
70
+
71
+ BEGIN TRAN
72
+
73
+
74
+
75
+ SELECT *FROM MC_STATUS WITH (TABLOCK)
76
+
77
+ SET NOCOUNT ON;
78
+
79
+
80
+
81
+ INSERT INTO Bテーブル SELECT *FROM INSERTED
82
+
83
+
84
+
85
+ --AテーブルにA列が一致するレコードがあるか
86
+
87
+ IF (NOT EXISTS (SELECT Aテーブル.A列 FROM Aテーブル,INSERTED WHERE Aテーブル.A列= INSERTED.A列 ))
88
+
89
+
90
+
91
+ --A列が一致するレコードがない。
92
+
93
+ INSERT INTO Aテーブル SELECT *FROM INSERTED
94
+
95
+
96
+
97
+ ELSE
98
+
99
+
100
+
101
+ --AテーブルにA列が一致するレコードがある
102
+
103
+ BIGIN
104
+
105
+ DECLARE @R int
106
+
107
+ SET @R = (SELECT A列 FROM INSERTED)
108
+
109
+ DELETE FROM A列 WHERE A列 =@R
110
+
111
+ INSERT INTO Aテーブル SELECT *FROM INSERTED
112
+
113
+ END
114
+
115
+
116
+
117
+ COMMIT TRAN
118
+
119
+
120
+
121
+ ```