Re: Can a procedure contain only a SELECT statement?
From: ddf <oratune_at_msn.com>
Date: Thu, 18 Mar 2010 12:01:44 -0700 (PDT)
Message-ID: <3e667a52-97af-4799-8e40-20ddcf306b1e_at_v20g2000prc.googlegroups.com>
On Mar 18, 12:30 pm, Mladen Gogala <n..._at_email.here.invalid> wrote:
> On Thu, 18 Mar 2010 13:17:23 +0000, Mladen Gogala wrote:
> > On Wed, 17 Mar 2010 21:37:44 -0700, ddf wrote:
>
> >> create or replace procedure aSimpleSelect (aLikeValue char(4)) as
> >> myrec aTableName%ROWTYPE;
> >> begin
> >> select *
> >> into myrec
> >> from aTableName
> >> where aColumn = aLikeValue
> >> and rownum < 2;
> >> end;
> >> /
>
> > Nope. This is the right answer:
>
> > create or replace function aSimpleSelect (a_like_value char(4)) return
> > ref cursor as
> > v_csr ref cursor;
> > begin
> > open v_csr for
> > select *
> > from aTableName
> > where aColumn = a_like_value;
> > return(v_csr);
> > end;
> > /
>
> This is the right answer that compiles:
>
> create or replace package ddf
> as
> type refcsr is ref cursor;
> function ssel(a_empno number) return refcsr;
> end ddf;
> /
> create or replace package body ddf
> as
> function ssel(a_empno number) return refcsr
> is
> v_csr refcsr;
> begin
> open v_csr for
> select * from emp
> where empno=a_empno;
> return(v_csr);
> end;
> end ddf;
> /
>
> --http://mgogala.byethost5.com- Hide quoted text -
>
> - Show quoted text -
Date: Thu, 18 Mar 2010 12:01:44 -0700 (PDT)
Message-ID: <3e667a52-97af-4799-8e40-20ddcf306b1e_at_v20g2000prc.googlegroups.com>
On Mar 18, 12:30 pm, Mladen Gogala <n..._at_email.here.invalid> wrote:
> On Thu, 18 Mar 2010 13:17:23 +0000, Mladen Gogala wrote:
> > On Wed, 17 Mar 2010 21:37:44 -0700, ddf wrote:
>
> >> create or replace procedure aSimpleSelect (aLikeValue char(4)) as
> >> myrec aTableName%ROWTYPE;
> >> begin
> >> select *
> >> into myrec
> >> from aTableName
> >> where aColumn = aLikeValue
> >> and rownum < 2;
> >> end;
> >> /
>
> > Nope. This is the right answer:
>
> > create or replace function aSimpleSelect (a_like_value char(4)) return
> > ref cursor as
> > v_csr ref cursor;
> > begin
> > open v_csr for
> > select *
> > from aTableName
> > where aColumn = a_like_value;
> > return(v_csr);
> > end;
> > /
>
> This is the right answer that compiles:
>
> create or replace package ddf
> as
> type refcsr is ref cursor;
> function ssel(a_empno number) return refcsr;
> end ddf;
> /
> create or replace package body ddf
> as
> function ssel(a_empno number) return refcsr
> is
> v_csr refcsr;
> begin
> open v_csr for
> select * from emp
> where empno=a_empno;
> return(v_csr);
> end;
> end ddf;
> /
>
> --http://mgogala.byethost5.com- Hide quoted text -
>
> - Show quoted text -
You didn't read my entire response?
David Fitzjarrell Received on Thu Mar 18 2010 - 14:01:44 CDT