【问题标题】:@@rowcount not giving correct value after a insert@@rowcount 在插入后没有给出正确的值
【发布时间】:2014-10-31 04:45:28
【问题描述】:

我使用此查询在表 tblWorkOrders 中插入一行。 但是@@ROWCOUNT 即使在表中插入了一行,也会给出 0。 可能是什么原因?如何更改查询以提供正确的@@ROWCOUNT?

INSERT INTO tblWorkOrders
        (           WO_Type , WO_Yard , WO_Operation , WO_Source , WO_SourceID , WO_SourceXLocation , WO_SourceYLocation , 
                    WO_Destination , WO_DestinationID , WO_DestinationXLoc, WO_DestinationYLoc , WO_Crane , WO_Priority , 
                    WO_ScheduledAt , WO_CoilNo , WO_ExecutionStart , WO_ExecutionEnd , WO_ExecutedBy , WO_Remarks,WO_RequestRefID )

        ( SELECT    OM_WOType,OM_Yard,OM_OperationsID,'Saddle' ,STARTINGPOINT.NAME,STARTINGPOINT.XAxis,STARTINGPOINT.YAxis,
                    'Saddle',ENDINGPOINT.NAME,ENDINGPOINT.XAxis,ENDINGPOINT.YAxis,OM_AssignedCrane,NULL,
                    NULL,@COILNO,NULL,NULL,NULL,NULL,NULL
                    FROM 

                    tblOperationsMaster OPM

                    INNER JOIN 
                    (SELECT SP_OperatingPointID AS [NAME],SP_XLocation AS [XAxis],SP_YLocation AS [YAxis] FROM tblStandardPoints
                    UNION ALL
                    SELECT SM_SaddleID AS [NAME],SM_XCoordinate AS [XAxis],SM_YCoordinate AS [YAxis] FROM tblSaddleMaster) STARTINGPOINT
                    ON STARTINGPOINT.NAME = @SOURCEIDFROMCALLINGFN

                    INNER JOIN 
                    (SELECT SP_OperatingPointID AS [NAME],SP_XLocation AS [XAxis],SP_YLocation AS [YAxis] FROM tblStandardPoints
                    UNION ALL
                    SELECT SM_SaddleID AS [NAME],SM_XCoordinate AS [XAxis],SM_YCoordinate AS [YAxis] FROM tblSaddleMaster) ENDINGPOINT 
                    ON ENDINGPOINT.NAME = @DESTINATIONIDFROMCALLINGFN

                    WHERE OPM.OM_OperationsID = @OPERATIONID)

        SET @ROWSINSERTED = @@ROWCOUNT;

【问题讨论】:

    标签: sql sql-server-2012 rowcount


    【解决方案1】:

    您好,您将通过以下方式获得rowcount

    SELECT @ROWSINSERTED =@@ROWCOUNT
    

    希望对你有帮助

    【讨论】:

      【解决方案2】:

      试试这个,

      我已经提供了示例检查它。

      插入后使用。

      SELECT @ROWSINSERTED=@@ROWCOUNT
      SELECT @ROWSINSERTED AS Rows
      

      【讨论】:

        【解决方案3】:
        INSERT INTO tblWorkOrders
                (           WO_Type , WO_Yard , WO_Operation , WO_Source , WO_SourceID , WO_SourceXLocation , WO_SourceYLocation , 
                            WO_Destination , WO_DestinationID , WO_DestinationXLoc, WO_DestinationYLoc , WO_Crane , WO_Priority , 
                            WO_ScheduledAt , WO_CoilNo , WO_ExecutionStart , WO_ExecutionEnd , WO_ExecutedBy , WO_Remarks,WO_RequestRefID )
        
                ( SELECT    OM_WOType,OM_Yard,OM_OperationsID,'Saddle' ,STARTINGPOINT.NAME,STARTINGPOINT.XAxis,STARTINGPOINT.YAxis,
                            'Saddle',ENDINGPOINT.NAME,ENDINGPOINT.XAxis,ENDINGPOINT.YAxis,OM_AssignedCrane,NULL,
                            NULL,@COILNO,NULL,NULL,NULL,NULL,NULL
                            FROM 
        
                            tblOperationsMaster OPM
        
                            INNER JOIN 
                            (SELECT SP_OperatingPointID AS [NAME],SP_XLocation AS [XAxis],SP_YLocation AS [YAxis] FROM tblStandardPoints
                            UNION ALL
                            SELECT SM_SaddleID AS [NAME],SM_XCoordinate AS [XAxis],SM_YCoordinate AS [YAxis] FROM tblSaddleMaster) STARTINGPOINT
                            ON STARTINGPOINT.NAME = @SOURCEIDFROMCALLINGFN
        
                            INNER JOIN 
                            (SELECT SP_OperatingPointID AS [NAME],SP_XLocation AS [XAxis],SP_YLocation AS [YAxis] FROM tblStandardPoints
                            UNION ALL
                            SELECT SM_SaddleID AS [NAME],SM_XCoordinate AS [XAxis],SM_YCoordinate AS [YAxis] FROM tblSaddleMaster) ENDINGPOINT 
                            ON ENDINGPOINT.NAME = @DESTINATIONIDFROMCALLINGFN
        
                            WHERE OPM.OM_OperationsID = @OPERATIONID)
        DECLARE @Rows int
        SELECT @Rows=@@ROWCOUNT
        SELECT @Rows AS Rows,@@ROWCOUNT AS [ROWCOUNT]
        

        试试这个,我认为它会工作

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-06-12
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多