質問編集履歴
1
「試したこと」の書き方を変更。回答内容を追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -114,11 +114,9 @@
|
|
114
114
|
|
115
115
|
END
|
116
116
|
|
117
|
-
|
117
|
+
``` ↓
|
118
118
|
|
119
|
-
|
119
|
+
```SQL
|
120
|
-
|
121
|
-
|
122
120
|
|
123
121
|
IF (SELECT Count(*) FROM inserted WHERE SID IS NULL) > 0
|
124
122
|
|
@@ -145,3 +143,31 @@
|
|
145
143
|
|
146
144
|
|
147
145
|
※トリガーの判定に行かない
|
146
|
+
|
147
|
+
|
148
|
+
|
149
|
+
##追記:2019/10/28
|
150
|
+
|
151
|
+
回答から:
|
152
|
+
|
153
|
+
[RAISERROR(Transact-SQL)](https://docs.microsoft.com/en-us/sql/t-sql/language-elements/raiserror-transact-sql?redirectedfrom=MSDN&view=sql-server-ver15)
|
154
|
+
|
155
|
+
[RAISERROR issue since migration to SQL Server 2012](https://stackoverflow.com/questions/21669227/raiserror-issue-since-migration-to-sql-server-2012)
|
156
|
+
|
157
|
+
|
158
|
+
|
159
|
+
(※ソースコードの変更点のコードを見やすく分けました)RAISERROR文は
|
160
|
+
|
161
|
+
RAISERROR( msg_str, severity ,state) の形が例文にもあるので引数の順番は大丈夫だと思うのですが
|
162
|
+
|
163
|
+
Serverityの値に細かい決まりがあった事と、例文ではTRY~CATCHの中で使っているようですので原文をどう書き直せばいいか考えてみます。
|
164
|
+
|
165
|
+
|
166
|
+
|
167
|
+
また、sys.messages カタログビューに一度登録して、RAISERROR ( msg_id ,severity ,state}のようにする方法があるようですが
|
168
|
+
|
169
|
+
こっちの方が意図した方法のような気がしました。こっちの方が書き直すのが難しそうですが…
|
170
|
+
|
171
|
+
|
172
|
+
|
173
|
+
THROW文は特にTRY~CATCHを使わなければいけないようですので、書いたことがないですが余裕ができたときに試せればと思います。
|