Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   SQL Server (http://www.forosdelweb.com/f87/)
-   -   Ayuda con este error de SQL HELpppppp!!! (http://www.forosdelweb.com/f87/ayuda-con-este-error-sql-helpppppp-586442/)

cibermanz 14/05/2008 11:29

Ayuda con este error de SQL HELpppppp!!!
 
Hola que tal tengo un sp que estoy desarrollando pero cuando inserto me sale el siguiente error.Msg 208, Level 16, State 1, Procedure sp_InsCreaMensajePadrinos, Line 22
Invalid object name 'dbo.MensajesPadrinoLog'.
Msg 266, Level 16, State 2, Procedure sp_InsCreaMensajePadrinos, Line 22
Transaction count after EXECUTE indicates that a COMMIT or ROLLBACK TRANSACTION statement is missing. Previous count = 46, current count = 47.


EL nombre de la tabla es el siguiente: dbo.MensajesPadrinoLog
los campos de la tabla son los siguientes:
==============================
idmensaje @@identity
idPadrino fk
idAbuelo fk
Mensaje
idTipoEstado
FechaMensaje

______________SP_______________
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON

go



alter procedure [dbo].[sp_InsCreaMensajePadrinos]

@Mensaje varchar(256),
@UserName varchar(50),
@retValor int output
as
declare @codigoPadrino bigint

declare @codigoAbuelo bigint

begin

begin tran


-- begin
-- SELECT @codigoPadrino = Padrino.idPadrino
-- FROM dbo.Padrino
-- INNER JOIN Apadrina ON Padrino.idPadrino = Apadrina.idPadrino
-- WHERE UserName =@UserName
-- end

insert into dbo.MensajesPadrinoLog
(
idPadrino,
idAbuelo
-- Mensaje,
-- idTipoEstado,
-- FechaMensaje

)
values
(
2508,
45
-- 'kjkklkll',
-- 6,
-- getdate()

)
IF @@error = 0
BEGIN
commit tran
set @retValor= @@identity

END
ELSE
BEGIN
rollback tran

set @retValor= -1
end


end

________________________________


para ejecutarlo utilizo; sp_InsCreaMensajePadrinos '@Mensaje','ccxcx22',''
el error q me tira es el siguiente:
Msg 208, Level 16, State 1, Procedure sp_InsCreaMensajePadrinos, Line 22
Invalid object name 'dbo.MensajesPadrinoLog'.
Msg 266, Level 16, State 2, Procedure sp_InsCreaMensajePadrinos, Line 22
Transaction count after EXECUTE indicates that a COMMIT or ROLLBACK TRANSACTION statement is missing. Previous count = 47, current count = 48.



PORFAVOR NECESITO AYUDA COMO VERNA HE!!! COMENTADO ALGUNA LINEA PARA VER DONDE ME SALE EL ERROR PERO NO PUEDO DETECTARLO DESDE YA MUCHAS GRACIAS...
SALUDOS YO:'(

Andres95 14/05/2008 11:37

Re: Ayuda con este error de SQL HELpppppp!!!
 
Primero que nada, si solo es una sentencia de modificacion de datos, no requieres de una transaccion explicita, sql server maneja automaticamente la operacion con una transaccion implicita.

Código:

alter procedure [dbo].[sp_InsCreaMensajePadrinos]
@Mensaje varchar(256),
@UserName varchar(50),
@retValor int output
as
declare @codigoPadrino bigint
declare @codigoAbuelo bigint

-- begin
-- SELECT @codigoPadrino = Padrino.idPadrino
-- FROM dbo.Padrino
-- INNER JOIN Apadrina ON Padrino.idPadrino = Apadrina.idPadrino
-- WHERE UserName =@UserName
-- end
insert into dbo.MensajesPadrinoLog
(
idPadrino,
idAbuelo
-- Mensaje,
-- idTipoEstado,
-- FechaMensaje
)
values
(
2508,
45
-- 'kjkklkll',
-- 6,
-- getdate()
)

IF @@Error = 0
  set @retValor= @@identity
Else
  set @retValor= -1
GO


cibermanz 14/05/2008 11:44

Gente Del Mundo Encontre El Error
 
EL ERROR ERA Q NO ME HABIA CREADO EL SP CON EL NOMBRE ENTONCES JAMAS ME IBA ENCONTRAR EL OBJETO JAJAJ Q TONTO BUENO PASA
LE PASO EL COFIGO COMPLETO PARA Q VEAN COMO QUEDO SALUDOS ATTE
YO

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go



alter procedure [dbo].[sp_InsCreaMensajePadrinos]

@Mensaje varchar(50),
@UserName varchar(50),
@retValor int output
as
declare @codigoPadrino int
declare @codigoAbuelo int
begin

begin tran


SELECT @codigoPadrino = Padrino.idPadrino,@codigoAbuelo=Apadrina.idAbuelo
FROM dbo.Padrino
INNER JOIN Apadrina ON Padrino.idPadrino = Apadrina.idPadrino
WHERE UserName =@UserName

insert into dbo.MensajesPadrinoLog
(
idPadrino,
idAbuelo,
Mensaje,
idTipoEstado,
FechaMensaje
)
values
(
@codigoPadrino,
@codigoAbuelo,
@Mensaje,
6,
getdate()
)
IF @@error = 0
BEGIN
commit tran
set @retValor= @@identity

END
ELSE
BEGIN
rollback tran
set @retValor= -1
end
end


La zona horaria es GMT -6. Ahora son las 06:29.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.