SQL Server Forums
Profile | Register | Active Topics | Members | Search | Forum FAQ
 
Register Now and get your question answered!
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 General SQL Server Forums
 New to SQL Server Programming
 Incorrect syntax, cant find error
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

ChristoffBrau
Starting Member

2 Posts

Posted - 11/16/2012 :  18:52:05  Show Profile  Reply with Quote
Hi, i have a stored procedure wich gives me an error to wich i can not find the source :(
any help would be very apreciated! :D

It gives me the error
Msg 102, Level 15, State 1, Procedure spcatalog_DocumentosUpdate, Line 88
Incorrect syntax near ','.


	@id varchar(40),
	@Clave varchar(255),
	@Titulo varchar(1024),
	@Descripcion varchar(60),
	@idSeccion varchar(40),
	@idSubseccion varchar(40),
	@Grupo varchar(40),
	@TipoContenido tinyint,
	@idContenido varchar(40),
	@idTipoDoc varchar(40),
	@URL varchar(1024),
	@Estado tinyint,
	@Fecha_Ultima_Modif DATETIME,
	@NombreArchivo varchar(255),
	@RutaOriginalArchivo varchar(512),
	@Fecha_Upload DATETime,
	@idPrograma varchar(40),
	@PeriodoAnyo INT,
	@PeriodoMes TINYINT,
	@idUsuario varchar(40),
	
	@idNew varchar(40),
	@LogEstadoOriginal tinyint,
	@LogEstadoFinal TINYINT,
	@LogFecha datetime,
	@LogDescripcion varchar(100),
	@LogComentario varchar(1024),
	@LogUserHost VARCHAR(120),
	@LogUserLocalIP VARCHAR(40),
	@LogUserPublicIP VARCHAR(40)
	
AS
BEGIN
	if @id = ''
	BEGIN
		SELECT @LogEstadoOriginal = 0
		
		Insert Into dbo.oDocumentos
		        ( Clave ,
		          Titulo ,
		          Descripcion ,
		          idSeccion ,
		          idSubseccion ,
		          Grupo ,
		          TipoContenido ,
		          idContenido ,
		          idTipoDoc ,
		          URL ,
		          Estado ,
		          Fecha_Ultima_Modif ,
		          NombreArchivo ,
		          RutaOriginalArchivo ,
		          Fecha_Upload ,
		          idPrograma ,
		          PeriodoAnyo ,
		          PeriodoMes ,
		          idUsuario )
		VALUES
			  ( @Clave ,
				@Titulo ,
				@Descripcion ,
				@idSeccion ,
				@idSubseccion ,
				@Grupo ,
				@TipoContenido ,
				@idContenido ,
				@idTipoDoc ,
				@URL ,
				@Estado ,
				@Fecha_Ultima_Modif ,
				@NombreArchivo ,
				@RutaOriginalArchivo ,
				@Fecha_Upload ,
				@idPrograma ,
				@PeriodoAnyo ,
				@PeriodoMes ,
				@idUsuario )
			
	SELECT @idNew = id FROM oDocumentos WHERE 
				  Clave = @Clave
				, Descripcion = @Descripcion
				, Estado = @Estado
				, Fecha_Ultima_Modif = @Fecha_Ultima_Modif
				, Fecha_Upload = @Fecha_Upload
				, Grupo = @Grupo
				, idContenido = @idContenido
				, idPrograma = @idPrograma
				, idSeccion = @idSeccion
				, idSubseccion = @idSubseccion
				, idTipoDoc = @idTipoDoc
				, NombreArchivo = @NombreArchivo
				, PeriodoAnyo = @PeriodoAnyo
				, PeriodoMes = @PeriodoMes
				, RutaOriginalArchivo = @RutaOriginalArchivo
				, TipoContenido = @TipoContenido
				, Titulo = @Titulo
				, URL = @URL			
	END
	
	ELSE 
	BEGIN
		Select @idNew = @id
		SELECT @LogEstadoOriginal = @Estado
		
		UPDATE dbo.oDocumentos SET
				Clave = @Clave
				, Descripcion = @Descripcion
				, Estado = @Estado
				, Fecha_Ultima_Modif = @Fecha_Ultima_Modif
				, Fecha_Upload = @Fecha_Upload
				, Grupo = @Grupo
				, idContenido = @idContenido
				, idPrograma = @idPrograma
				, idSeccion = @idSeccion
				, idSubseccion = @idSubseccion
				, idTipoDoc = @idTipoDoc
				, NombreArchivo = @NombreArchivo
				, PeriodoAnyo = @PeriodoAnyo
				, PeriodoMes = @PeriodoMes
				, RutaOriginalArchivo = @RutaOriginalArchivo
				, TipoContenido = @TipoContenido
				, Titulo = @Titulo
				, URL = @URL
		WHERE id = @id
		END
	 INSERT INTO dbo.oDocumentos_Log
	         ( idDocumento ,
	           idUsuario ,
	           Fecha ,
	           Estado_Original ,
	           Estado_Final ,
	           Descripcion ,
	           Comentarios ,
	           user_HostName ,
	           user_Local_IP ,
	           user_Public_IP )
	 VALUES  ( @idNew
	          , @idUsuario
	          , @LogFecha
	          , @LogEstadoOriginal
	          , @LogEstadoFinal
	          , @LogDescripcion
	          , @LogComentario
	          , @LogUserHost
	          , @LogUserLocalIP
	          , @LogUserPublicIP )
	
	END

Thanks!

ChristoffBrau
Starting Member

2 Posts

Posted - 11/16/2012 :  19:46:26  Show Profile  Reply with Quote
I solved it, its not comas at the where, you have to put AND


SELECT @idNew = id FROM oDocumentos WHERE
Clave = @Clave
AND Descripcion = @Descripcion
AND Estado = @Estado
AND Fecha_Ultima_Modif = @Fecha_Ultima_Modif
AND Fecha_Upload = @Fecha_Upload
AND Grupo = @Grupo
AND idContenido = @idContenido
AND idPrograma = @idPrograma
AND idSeccion = @idSeccion
AND idSubseccion = @idSubseccion
AND idTipoDoc = @idTipoDoc
AND NombreArchivo = @NombreArchivo
AND PeriodoAnyo = @PeriodoAnyo
AND PeriodoMes = @PeriodoMes
AND RutaOriginalArchivo = @RutaOriginalArchivo
AND TipoContenido = @TipoContenido
AND Titulo = @Titulo
AND URL = @URL
Go to Top of Page

visakh16
Very Important crosS Applying yaK Herder

India
52325 Posts

Posted - 11/16/2012 :  22:08:47  Show Profile  Reply with Quote
also a word of caution that select which assigns value to @idNew will work as expected only so long as query returns a single result.

if your attempt is to retrieve generated id value for the inserted record then better option would be

SELECT @idNew = SCOPE_IDENTITY()

------------------------------------------------------------------------------------------------------
SQL Server MVP
http://visakhm.blogspot.com/

Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
SQL Server Forums © 2000-2009 SQLTeam Publishing, LLC Go To Top Of Page
This page was generated in 0.06 seconds. Powered By: Snitz Forums 2000