我有一个将值插入表中的过程。 5 s$ z* H. L% [* f C+ I- E" rdeclare @fName varchar(50),@lName varchar(50),@check tinyintINSERT INTO myTbl(fName,lName) values(@fName,@lName)编辑: m( W* D8 a# ?; X# g! |$ f现在我想检查它是否成功插入设置@check = 0否则@check = 1 c# i) M- A4 f6 ~& w
B6 T. c, Z# e0 l解决方案: 8 X- E$ i- J6 H' J
您可以@@ROWCOUNT通过插入操作,立即使用服务器变量检查受影响的行数。$ o& b0 p/ \4 i6 h' O
declare @fName varchar(50) = 'Abcd @lName varchar(50) = 'Efgh'INSERT INTO myTbl(fName,lName) values(@fName,@lName)PRINT @@ROWCOUNT --> 0- means no rows affected/nothing inserted --> 1- means your row has been inserted successfully您可以根据您的要求使用一个Case句子(根据评论):4 Y: e5 w1 c/ v4 O- |
--If you need @check as a bit type please change Int to bitDECLARE @check Int = CASE WHEN @@ROWCOUNT = 0 THEN 1 ELSE 0 END