Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 General SQL Server Forums
 New to SQL Server Programming
 Incorrect syntax, cant find error

Author  Topic 

ChristoffBrau
Starting Member

2 Posts

Posted - 2012-11-16 : 18:52:05
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 - 2012-11-16 : 19:46:26
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

52326 Posts

Posted - 2012-11-16 : 22:08:47
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
   

- Advertisement -