相关疑难解决方法(0)

如何检查SQL Server表中是否存在列?

如果不存在,我需要添加一个特定的列.我有类似以下内容,但它总是返回false:

IF EXISTS(SELECT *
          FROM   INFORMATION_SCHEMA.COLUMNS
          WHERE  TABLE_NAME = 'myTableName'
                 AND COLUMN_NAME = 'myColumnName') 
Run Code Online (Sandbox Code Playgroud)

如何检查SQL Server数据库的表中是否存在列?

t-sql sql-server sql-server-2008 sql-server-2012 sql-server-2016

1792
推荐指数
24
解决办法
115万
查看次数

使用Transact-SQL在try catch with tran中更改然后更新的问题

这是一些Transact-SQL我试图通过sqlcmd(SQL Server 2005)运行.

USE PUK;
GO
BEGIN TRANSACTION;
BEGIN TRY

   -- - Modify RETRIEVAL_STAT
   alter table dbo.RETRIEVAL_STAT add
      SOURCE nvarchar(10) NULL,
      ACCOUNTNUMBER nvarchar(50) NULL,
      PUK nvarchar(20) NULL;

   -- transform logic.
   update dbo.RETRIEVAL_STAT set
      SOURCE = 'XX',
      ACCOUNTNUMBER = 'XX',
      PUK = 'XX';

END TRY
BEGIN CATCH
    SELECT
        ERROR_NUMBER() AS ErrorNumber
        ,ERROR_SEVERITY() AS ErrorSeverity
        ,ERROR_STATE() AS ErrorState
        ,ERROR_PROCEDURE() AS ErrorProcedure
        ,ERROR_LINE() AS ErrorLine
        ,ERROR_MESSAGE() AS ErrorMessage;
    IF @@TRANCOUNT > 0
        ROLLBACK TRANSACTION;
END CATCH;
IF @@TRANCOUNT > 0
    COMMIT TRANSACTION;
GO …
Run Code Online (Sandbox Code Playgroud)

sql transactions sql-server-2005 try-catch

4
推荐指数
1
解决办法
2080
查看次数

无法捕获SQL Server alter table错误

这是一个非常简单的代码,但它无法捕获错误.

或者如何捕获错误?

谢谢.

BEGIN TRY
    ALTER TABLE [dbo].[my_table_name] 
    ADD PRIMARY KEY ([id]);
END TRY
BEGIN CATCH
    PRINT 'Primary Key already exists. '
END CATCH
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2012

1
推荐指数
1
解决办法
69
查看次数