当前位置:  开发笔记 > 数据库 > 正文

无法捕获SQL Server alter table错误

如何解决《无法捕获SQLServeraltertable错误》经验,为你挑选了1个好方法。



1> Dan Guzman..:

在延迟名称解析后因批量重新编译而发生的错误无法在错误发生的同一级别捕获.一种解决方法是将DDL包装在动态SQL中:

BEGIN TRY
    EXEC(N'ALTER TABLE [dbo].[my_table_name] ADD PRIMARY KEY ([id]);');
END TRY
BEGIN CATCH
    IF ERROR_NUMBER() = 1779
    BEGIN
        --handle expected errors
        PRINT 'Primary Key already exists. ';
    END
    ELSE
    BEGIN
        --raise other unexpected errors
        THROW;
    END;
END CATCH;

推荐阅读
手机用户2502852037
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有