web analytics

Which Transact-SQL statement should you use?

You use Microsoft SQL Server to develop a database application.
You create a stored procedure named DeleteJobCandidate.
You need to ensure that if DeleteJobCandidate encounters an error, the execution of the stored procedure
reports the error number.
Which Transact-SQL statement should you use?
A. DECLARE @ErrorVar INT;
DECLARE @RowCountVar INT;
EXEC DeleteJobCandidate
SELECT @ErrorVar = @@ERROR,
@RowCountVar = @@ROWCOUNT;
IF (@ErrorVar <> 0)
PRINT N’Error = ‘ + CAST(@@ErrorVar AS NVARCHAR(8)) + N’,
Rows Deleted = ‘ + CAST(@RowCountVar AS NVARCHAR(8));
GO
B. DECLARE @ErrorVar INT;
DECLARE @RowCountVar INT;
EXEC DeleteJobCandidate
SELECT @ErrorVar = ERROR_STATE(),
@RowCountVar = @@ROWCOUNT;
IF (@ErrorVar <> 0)
PRINT N’Error = ‘ + CAST(ERROR_STATE() AS NVARCHAR(8)) + N’,
Rows Deleted = ‘ + CAST(@RowCountVar AS NVARCHAR(8));
GO
C. EXEC DeleteJobCandidate
IF (ERROR_STATE() != 0)
PRINT N’Error = ‘ + CAST(@@ERROR AS NVARCHAR(8)) + N’,
Rows Deleted = ‘ + CAST(@@ROWCOUNT AS NVARCHAR(8));
GO
D. EXEC DeleteJobCandidate
PRINT N’Error = ‘ + CAST(@@ERROR AS NVARCHAR(8)) + N’,
Rows Deleted = ‘ + CAST(@@ROWCOUNT AS NVARCHAR(8));
GO
Answer: A