Erro na stored procedure do sql server

Pessoal, sei que aqui não é um fórum específico para banco de dados, mas é uma dúvida simples, não estou conseguindo executar esse código, está dando erro na linha

@nome varchar(30)

se alguém puder me ajudar eu agradeço.


create procedure up_Inc_tb_pessoa
    
      @id_pessoa int
      @nome varchar(30)
      @idade int
,
as

set xact_abort on


INSERT INTO [db_teste].[dbo].[tb_pessoa]
           ([id_pessoa]
           ,[nome]
           ,[idade])
     VALUES
           (1,'Felipe',22)
GO



commit transaction
      

Não faltarão umas vírgulas? E está outra virgula a mais.

sim, depois que postei o código vi que resolvia colocando as virgulas, mas agora ta dando esse erro olhe

Msg 3902, Level 16, State 1, Line 3
The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION.

O erro ta dando quando eu coloco o begin transaction e commit transaction

se eu tirar ele funciona.