1

长期以来一直是插入错误返回第一条消息的方式,而不是所有消息。以下返回“将数据类型 varchar 转换为数字时出错。” 实际上有两个无效值。修复 columnB 的值后,我们会看到 columnC 的错误。如何在第一次尝试时查看所有消息?

CREATE TABLE [dbo].[Table_1](
[columnA] [varchar](50) NULL,
[ColumnB] decimal(2,0) NOT NULL,
ColumnC int null
) ON [PRIMARY]

GO
INSERT INTO [dbo].[Table_1]
       ([columnA]
       ,[ColumnB]
       ,ColumnC)
 VALUES
       (23,
       'a',
       'b')
4

1 回答 1

0

要执行此类操作,您可以try-catch在场景中使用单独的块,因为它只有几个字段。

begin try
    insert into table_1
    (columnA)
    values 
    ('any value')
end try
begin catch
    select ERROR_MESSAGE()
end catch

begin try
    insert into table_1
    (columnB)
    values 
    ('any value')
end try
begin catch
    select ERROR_MESSAGE()
end catch

begin try
    insert into table_1
    (columnC)
    values 
    ('any value')
end try
begin catch
    select ERROR_MESSAGE()
end catch
于 2019-12-16T11:23:28.620 回答