In today's newletter from SQL-Server-Performance.Com, Brad McGehee wrote
Here are some ways to help keep transactions as short as possible:
...
Always manage your transaction by beginning and ending your transaction explicitly. Do not use implicit transactions.
I disagree. If I have an update of a single row in a stored procedure, there is no need to do an explicit BEGIN/COMMIT.
Code:
CREATE PROCEDURE UpdateAuthorLastName (
	@au_id		id,
	@newLastName	varchar(40)
)
AS BEGIN
	SET NOCOUNT ON

	UPDATE authors
	SET au_lname = @newLastName
	WHERE au_id = @au_id

	-- Error check

	RETURN(0)
END
GO
If someone knows why this stored procedure would benefit from an explicit BEGIN/COMMIT pair, please explain.

Rob