<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.3132" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Hola</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Tengo un problema con la funcion 
IFNULL.</FONT></DIV>
<DIV><FONT face=Arial size=2>La situación es la siguiente, necesito que al ir a 
grabar un registro me incremente en uno un campo (no quiero usar un autoincrento 
por el tema de los borrados, pruebas, etc).</FONT></DIV>
<DIV><FONT face=Arial size=2>Es decir, la funcion&nbsp;es esta&nbsp;y funciona 
bien:</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;<FONT face=Arial size=2>PROCEDURE usp_insertaproveedor (<BR>IN 
inIdProveedor DECIMAL,<BR>IN inNombreProveedor varchar(50),<BR>IN 
inNombreProveedor2 varchar(50),<BR>IN inNif varchar(14),<BR>IN inDireccion 
varchar(50),<BR>IN inCiudad varchar(30),<BR>IN inProvincia varchar(30),<BR>IN 
inCPostal mediumint(5),<BR>IN inCodFPago tinyint(2),<BR>IN inCtaBanco 
decimal(20,0),<BR>IN inTipoProv tinyint(2),<BR>IN inDtoRec 
decimal(5,2)<BR>)<BR>BEGIN DECLARE contador INT;<BR>SET contador=(SELECT 
max(ident) from proveedores) + 1;<BR>&nbsp;INSERT INTO proveedores&nbsp; 
(IdProveedor, NombreProveedor, 
NombreProveedor2,NIF,Direccion,Ciudad,Provincia,CPostal,CodFPago,CtaBanco,TipoProv,DtoRec,ident)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
VALUES(inIdProveedor, 
inNombreProveedor,inNombreProveedor2,inNif,inDireccion,inCiudad,inProvincia,inCPostal,inCodFPago, 
&nbsp;&nbsp;inCtaBanco,inTipoProv,inDtoRec,contador);&nbsp;&nbsp;<BR>END</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Pero cuando la tabla no contiene registros devuelve 
un NULL, con el consiguiente error. Al ir a hechar mano de la Funcion IFNULL, no 
consigo que funcione, quiero que si el valor es NULL devuelva un 1.</FONT></DIV>
<DIV><FONT face=Arial size=2>&nbsp;</FONT></DIV>
<DIV><FONT face=Arial size=2>PROCEDURE usp_insertaproveedor (<BR>IN 
inIdProveedor DECIMAL,<BR>IN inNombreProveedor varchar(50),<BR>IN 
inNombreProveedor2 varchar(50),<BR>IN inNif varchar(14),<BR>IN inDireccion 
varchar(50),<BR>IN inCiudad varchar(30),<BR>IN inProvincia varchar(30),<BR>IN 
inCPostal mediumint(5),<BR>IN inCodFPago tinyint(2),<BR>IN inCtaBanco 
decimal(20,0),<BR>IN inTipoProv tinyint(2),<BR>IN inDtoRec 
decimal(5,2)<BR>)<BR>BEGIN DECLARE contador INT;<BR>SET contador=IFNULL((SELECT 
max(ident) from proveedores) + 1),1);<BR>&nbsp;INSERT INTO proveedores&nbsp; 
(IdProveedor, NombreProveedor, 
NombreProveedor2,NIF,Direccion,Ciudad,Provincia,CPostal,CodFPago,CtaBanco,TipoProv,DtoRec,ident)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
VALUES(inIdProveedor, 
inNombreProveedor,inNombreProveedor2,inNif,inDireccion,inCiudad,inProvincia,inCPostal,inCodFPago, 
&nbsp;&nbsp;inCtaBanco,inTipoProv,inDtoRec,contador);&nbsp;&nbsp;<BR>END</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Estoy usando la version 5.0.27</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>A ver si alguien me puede echar una 
mano.</FONT></DIV>
<DIV><FONT face=Arial size=2>Saludos y Gracias</FONT></DIV>
<DIV><FONT face=Arial size=2>Javier Rivas</FONT></DIV></BODY></HTML>