Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/09/2014, 06:40
jc3000
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 17 años, 5 meses
Puntos: 43
Respuesta: error : an INTO clause is expected in this select statement

Un pequeño consejo.

Cuando tengas un problema de este tipo, primero busca info p.e. en el google sobre el error (Supongo que te habrá salido algo similar a este código de error : PLS-00428 ) y luego, si lo que has encontrado no te lo aclara, entonces es el momento de acudir a los foros, pero primero, como te he dicho, hay que tratar de solucionar las cosas por uno mismo, así se aprende mas que acudiendo a los foros en cuanto se ve la palabra error, creeme.

Y respecto a tu error, en un programa pl ( procedure, function, package, trigger ), salvo en los cursores, un select tiene que llevar de un INTO para meter el resultado de esa select.

SELECT CAMPO / CAMPOS / *
INTO VARIABLE / VARIABLES / VARIABLE TIPO REGISTRO
FROM TABLA / TABLAS

Y en tu caso para dártelo todo mascado :

Código SQL:
Ver original
  1. CREATE OR REPLACE PROCEDURE buscarDNI( fecha IN varchar2)
  2. AS  
  3.  
  4. var_persona persona%rowtype; -- Siendo var_persona una variable de tipo registro de la tabla persona
  5.  
  6. BEGIN
  7.  
  8. SELECT *
  9.  INTO var_persona
  10.    FROM persona
  11.     WHERE p_fec_nac=fecha ;    
  12.  
  13. --
  14. -- Aquí ya tienes en VAR_PERSONA todos los datos que hay en la tabla persona cuya fecha de nacimiento sea igual a la que has mandado como aprametro
  15. --
  16. -- OJO, Si encuentra mas de uno, te va a saltar un error y si no encuentra ninguno, también. Debes de gestionar las excepciones, busca info sobre
  17. -- NO_DATA_FOUND y TOO_MANY_ROWS  
  18.  
  19. END;
  20. /