Oracle - Duda sobre procedures

 
Vista:

Duda sobre procedures

Publicado por vlg (7 intervenciones) el 12/06/2006 15:40:33
Hola tengo este procedimiento y me da error
create or replace procedure CTCStockFecha(argFechaStr in varchar2) is
pFecha number;
pFechaStr varchar2(10);
begin
pFechaStr := TO_CHAR(TO_DATE(argFechaStr,'DD/MM/YYYY'),'J');
pFecha := TO_NUMBER(pFechaStr);

select * from ipartic;


end CTCStockFecha;

el Error es PLS-00428 SE ESPERABA UNA CLAUSULA INTO EN LA SENTENCIA SELECT

MI PREGUNTA ES ¿NO SE PUEDE HACER UN SELECT PURO Y DURO, SIN QUE TENGA QUE IR ACOMPAÑADO DE UN INTO?

GRACIAS
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Duda sobre procedures

Publicado por cecilia (12 intervenciones) el 13/06/2006 16:13:50
Hola!!

mi pregunta es: para que quieres hacer un select puro sin introducir el resultado que te devuelve en una variable??

La respuesta a tu pregunta es que cuando programas en PL/SQL la sentencia select cambia a select into, pero esto es lógico, ya que siempre que en un procedure haces un select es para recuperar el valor de algún campo de la tabla y así tratarlo en tu procedure o simplemente devolverlo como parámetro de salida
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda sobre procedures

Publicado por Pedro (1 intervención) el 19/03/2011 21:36:24
y si tenes que seleccionar 20 campos, hay que crear 20 variables para almacenar... que pura droga oracle....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de rtb

RE:Duda sobre procedures

Publicado por rtb (18 intervenciones) el 23/03/2011 17:46:39
No necesitas crear 20 variables, para eso estan los cursores y las variables de tipos cursores Ejemplo:
Declare cursor c1 is
select * from ipartic;

variable c1%ROWTYPE;

begin
open c1;
fetch c1 into variable;
loop
................
end loop;
end;

Saludos cordiales.-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar