Hola,
Posiblemente,
Cita:
Iniciado por alexander01015 CREATE PROCEDURE SP_BuscarRuc(INOUT vruc CHAR(11))
BEGIN
SELECT Ruc FROM Cliente WHERE Ruc=vruc;
END
Supongo que estas usando
@vruc.
Cita:
Iniciado por alexander01015
Código:
...
java.sql.CallableStatement sp_consulta = cn.prepareCall("{call SP_BuscarRuc(?)}");
sp_consulta.registerOutParameter(1, java.sql.Types.CHAR);
//¿Y el valor del parámetro?
sp_consulta.setString("vruc", 1000);
sp_consulta.execute();
Estás haciendo un SELECT con un valor de entrada y salida (INOUT), pero lo estás usando en el WHERE, por lo que tiene que tener un valor en el momento de entrada. Y al final no le estás asignando nada, para asignarle algo tendrías que ponerlo en la lista de campos.
SELECT @vruc = Ruc FROM Cliente WHERE Ruc = @vruc
¿Pero que sucedería? Creo que si no lo encuentra deja el mismo valor en vruc.
SELECT @total = COUNT(Ruc) FROM Cliente WHERE Ruc = @vruc
Aunque tendría que usar otra variable INT de salida, porque vruc es CHAR.
Saludos,