Ver Mensaje Individual
  #4 (permalink)  
Antiguo 30/06/2016, 15:44
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Consulta con uso de variables

Cita:
Iniciado por yuo2 Ver Mensaje
Código SQL:
Ver original
  1. SET SERVEROUTPUT ON
  2. DECLARE
  3.   v_usuario VARCHAR(10);
  4. BEGIN
  5.     SELECT username INTO v_usuario FROM dba_users WHERE username=&idusuario;
  6.     DBMS_OUTPUT.PUT_LINE('El user consultado es: '|| v_usuario );
  7. END;

quiero ingresar un valor con &idusuario y que este luego pase a mi variable v_usuario. Finaliza en un mensaje indicando que el usuario consultado es ..



Me arroja el siguiente error:

ORA-06550: line 4, column 66:
PL/SQL: ORA-00904: "CTXSYS": invalid identifier
ORA-06550: line 4, column 5:
PL/SQL: SQL Statement ignored
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:

Al ser un valor VARCHAR2, se requiere que vaya dentro de ''.
Adicional, debes poner un exception en caso de que no exista el valor. De lo contrario, te saltaría un error NO_DATA_FOUND.

Prueba esto
Código SQL:
Ver original
  1. DECLARE
  2.   v_usuario VARCHAR(10);
  3. BEGIN
  4.     SELECT username INTO v_usuario FROM dba_users WHERE username='&idusuario';
  5.     DBMS_OUTPUT.PUT_LINE('El user consultado es: '|| v_usuario );
  6. EXCEPTION WHEN NO_DATA_FOUND THEN
  7.     DBMS_OUTPUT.PUT_LINE('El user no existe');
  8. END;
__________________
Without data, You are another person with an opinion.
W. Edwads Deming