Este es mi código
CitarCREATE 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.
CitarSintaxis incorrecta cerca de '@cod'.
Hola!
No sé mucho del tema, pero me parece que la coma delante del +1 está demás?
SELECT ISNULL(MAX(codigoProducto),+ 1) INTO @cod FROM producto
Saludos!
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.
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
Me sigue dando el mismo error.