Título: Error leve en procedure SQL server 2012 Publicado por: lorblack en 7 Noviembre 2016, 19:28 pm Este es mi código
Citar CREATE PROC insertar_producto @cod int OUTPUT, @nom varchar(100), @pre decimal(18,2), @img varchar(100) AS BEGIN SET NOCOUNT ON; SELECT ISNULL(MAX(codigoProducto),+ 1) INTO @cod FROM producto INSERT INTO producto (codigoProducto, nombre, precio, imagen) VALUES (@cod, @nom, @pre, @img) END el problema es que me aparece con un error en la línea del SELECT INSNULL en la variable @cod, no sé qué estoy haciendo mal, el error. Citar Sintaxis incorrecta cerca de '@cod'. Título: Re: Error leve en procedure SQL server 2012 Publicado por: MCKSys Argentina en 7 Noviembre 2016, 19:34 pm Hola!
No sé mucho del tema, pero me parece que la coma delante del +1 está demás? Código: SELECT ISNULL(MAX(codigoProducto),+ 1) INTO @cod FROM producto Saludos! Título: Re: Error leve en procedure SQL server 2012 Publicado por: lorblack en 7 Noviembre 2016, 19:41 pm No, la coma debe ir por la sintaxis del IFNULL, puesto que los dos parámetros de estos serian lo que hay antes y después de la coma, el + es sólo para aumentar en 1 el número que hay anteriormente.
Título: Re: Error leve en procedure SQL server 2012 Publicado por: fran800m en 7 Noviembre 2016, 19:42 pm Creo recordar que isnull es una funcion que devuelve el segundo parámetro si el primero resulta null
¿Puede ser ésto lo que quieres hacer? SELECT ISNULL(MAX(codigoProducto) + 1, 1) INTO @cod FROM producto Título: Re: Error leve en procedure SQL server 2012 Publicado por: lorblack en 7 Noviembre 2016, 19:45 pm Me sigue dando el mismo error.
|