如何在SQL Server中显示自定义错误消息

时间:2018-04-23 13:33:30

标签: sql-server

我试图在执行查询时显示用户定义的错误消息。 例如,我有一个表名COA,我从这个ID为200001的表中删除一条记录,我想在底部显示一条消息,如果表中没有ID,则表示" ID不存在"或者自定义的东西。

  DELETE FROM [dbo].[COA]
  WHERE ID = 200001
  IF [dbo].[COA].ID <> 200001
  PRINT N'The current database is master.'; 

这可能与否?

2 个答案:

答案 0 :(得分:1)

您可以使用DELETE语句中的OUTPUT子句来存储已删除的行(如果有):

DECLARE @MyTableVar TABLE  
(  
    ID INT
);  

DELETE FROM [dbo].[COA]
OUTPUT DELETED.ID INTO @MyTableVar
WHERE ID = 200001

IF EXISTS (SELECT * FROM @MyTableVar)
  PRINT N'The current database is master.'; 

注意:您可以定义@MyTableVar以包含原始表中的其他字段,以便您可以创建更加自定义的消息。

答案 1 :(得分:0)

你可以这样做......

In [1]: np.argsort([3]*17)
Out[1]:
array([ 0, 14, 13, 12, 11, 10,  9, 15,  8,  6,  5,  4,  3,  2,  1,  7, 16],
      dtype=int64)