tabla registros por numero filas example ejemplos cantidad afectadas sql sql-server oracle tsql plsql

numero - sql server cantidad registros por tabla



¿Cómo puedo obtener la cantidad de registros afectados por un procedimiento almacenado? (6)

Para las INSERT , UPDATE y DELETE SQL ejecutadas directamente en la base de datos, la mayoría de los proveedores de bases de datos devuelven el recuento de filas afectadas. Para los procedimientos almacenados, la cantidad de registros afectados siempre es -1 .

¿Cómo obtenemos la cantidad de registros afectados por un procedimiento almacenado?


ADVERTENCIA: @@ROWCOUNT puede devolver datos falsos si la tabla que está siendo modificada tiene activadores asociados.

¡El @@ROWCOUNT devolverá el número de registros afectados por el GATILLO, no la declaración real!


Para Microsoft SQL Server puede devolver la variable @@ROWCOUNT para devolver el número de filas afectadas por la última instrucción en el procedimiento almacenado.


Registre un parámetro de salida para el procedimiento almacenado y establezca el valor basado en @@ROWCOUNT si usa SQL Server. Use SQL%ROWCOUNT si está utilizando Oracle.

Tenga en cuenta que si tiene múltiples INSERT/UPDATE/DELETE , necesitará una variable para almacenar el resultado de @@ROWCOUNT para cada operación.




@@RowCount le dará la cantidad de registros afectados por una declaración de SQL.

El @@RowCount solo funciona si lo emite inmediatamente después. Entonces, si está atrapando errores, debe hacerlo en la misma línea. Si lo divides, te perderás el segundo que elijas.

SELECT @NumRowsChanged = @@ROWCOUNT, @ErrorCode = @@ERROR

Si tiene varias declaraciones, deberá capturar el número de filas afectadas para cada una y sumarlas.

SELECT @NumRowsChanged = @NumRowsChanged + @@ROWCOUNT, @ErrorCode = @@ERROR