如何在省略SQL中的事务中的某些记录的同时编写INSERT查询?

时间:2018-01-19 01:12:20

标签: sql sql-server transactions

我在Transaction中编写了一个SQL insert语句。 (这很大) 当我的事务在存储过程中运行时,在插入阶段,由于某些后端问题导致 NOT NULL列,该特定列已尝试填充 NULL 值。因此,整个交易正在获得ROllBACK。我在这里看到的缺点是,这个SP处理了数千个INSERT查询,我不想因为几个NULL情况而跳过其他插入查询。

有没有办法可以添加条件来跳过那些NULL情况?

CREATE PROCEDURE [dbo].[usp_populate]   
AS 

BEGIN
BEGIN TRY
----
---
...
    INSERT  INTO [dbo].[testTable]
                  ( .. ,
                   .. ,
                      .. ,
                      [AId] ,
                     ...,
                    )
SELECT(..,..,[AId], ...) from tableA

-------
       COMMIT TRANSACTION

        END TRY
        BEGIN CATCH
            ....
              ROLLBACK TRANSACTION
            ..
        END CATCH

0 个答案:

没有答案