Ver Mensaje Individual
  #5 (permalink)  
Antiguo 27/09/2012, 13:47
afuentealba
 
Fecha de Ingreso: abril-2012
Mensajes: 65
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: saber si el registro existe

Cita:
Iniciado por huesos52 Ver Mensaje
El error indica que el procedimiento no está declarado o posiblemnete te falte algún permiso.

Sin emabargo, la forma como lo llamas está en desorden. Envias el usuario en el primer parametro y en el procedimiento está en el segundo. para que el orden no afecte debes referenciar los campos de entrada, de lo contrario debes ingresar en el orden indicado los campos al procedimiento.

Revisalo, pruebalo y si después de un rato sigue sin funcionarte nos cuentas.

saludos
Ordenado, mismo error lamentablemente:

Código MySQL:
Ver original
  1. PROCEDURE P_VALIDAUSER       (  
  2. PI_USRSYS_ALIAS     IN VARCHAR2,                                
  3.                                 PO_SW               OUT NUMBER,
  4.                                 PO_TEXTERR          OUT VARCHAR2,
  5.                                 PO_EXISTE           OUT NUMBER)IS
  6.  vl_valor number;
  7.  
  8.      BEGIN
  9.                                 --OPEN PO_VALIDAUSER FOR
  10.                                 --VALIDA ID Usuarios del sistema
  11.                                  
  12.                                     SELECT count(1)
  13.                                     INTO vl_valor
  14.                                     FROM TCARVIG_USRSYS
  15.                                     WHERE USRSYS_ID = PI_USRSYS_ALIAS;
  16.  
  17.                                   If vl_valor > 0 then --el registro existe
  18.                                     PO_EXISTE:= 1;
  19.                                   end if;
  20.                                  
  21.                                
  22.      END;
  23.  END;

Código PHP:
$sql="BEGIN pk_carvig_user.p_validauser(
'"
.$idf_usuario."'".",
:po_sw, 
:po_texterr, 
:po_existe); END;"
;
                            
                            
$stmt OCIParse($conexion->conecta,$sql);
                            
OCIBindByName($stmt,":po_sw",&$po_sw,256);
                            
OCIBindByName($stmt,":po_texterr",&$po_texterr,256);                            
                            
OCIBindByName($stmt,":po_existe",$po_existe,256);
                            
                            
ociexecute($stmt);
                            
ociexecute($po_existe); 
Cita:
Warning: ociexecute() [function.ociexecute]: ORA-01722: número no válido ORA-06512: en "USR_GESTION_FIS.PK_CARVIG_USER", línea 62 ORA-06512: en línea 1 in C:\AppServ\www\registro\registro.php on line 226

Warning: ociexecute() expects parameter 1 to be resource, null given in C:\AppServ\www\registro\registro.php on line 227