Ver Mensaje Individual
  #3 (permalink)  
Antiguo 19/10/2010, 16:13
Avatar de shinta_snake
shinta_snake
 
Fecha de Ingreso: diciembre-2009
Mensajes: 70
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Consulta PROCEDURE

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Desglosando:
1) No uses caracteres extendidos como la "ñ". Pueden tener resultados inesperados si el parser no los interpreta bien.
2) NULL no es un dato, es un estado en todo caso o un puntero a la nada, que es como se lo define, como no es un dato no pueden usarse operadores lógicos contra él. Para saber si algo es o no NULL se usa IFNULL() o bien IS NULL.
3) Para usar COMMIT o ROLLBACK, primero debes haber iniciado la transacción, cosa que no haces en ninguna parte del código.
4) Cuando cambias los delimitadores, el bloque BEGIN/END termina con los nuevos delimitadores, no con los viejos.

Fuera de eso, no deberías tener problemas para compilarlo.
1) ejecuto el Select, y no tengo problema con las Ñ a menos que dentro del PROCEDURE tenga problema pero lo modificare.
2) no lo conocia lo intentare ocupar.
3)si los saco funcionaria iwal?

lo ejecuto y me da resultado NULL, por eso hacia la consutla en el IF para saber
si esta registrando o asignando un NULL, pero en teoria funcionaria asi.
la linea de codigo SET remarcada no se si esta bn osea io kreo q esta bn
pero parece que no asigna un resultado en teoria me deberia dar el "1"
y al consultar el IF deberia ser MAYOR.

Código:
//
CREATE PROCEDURE Proc_ConsId (In sen varchar(20), In prog varchar(20),OUT msn varchar(30))
BEGIN
DECLARE b INTEGER DEFAULT 0 ;
SET b=(select idbloqueos from bloqueos where señal=sen AND programa=prog);
IF (b > 0 ) THEN
  SET msn=('FUNCIONO');
ELSE
  SET msn=('NO FUNCO');
END IF;
END;
//

CALL Proc_ConsId('A','B',@msn);
select @msn;