Thread: Stored Procedure Problem

Stored Procedure Problem

From
"Atul"
Date:
<div class="Section1"><p class="MsoNormal"><span class="EmailStyle15"><font color="black" face="Arial" size="2"><span
style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:
Arial">Hello,</span></font></span><p class="MsoNormal"><span class="EmailStyle15"><font color="black" face="Arial"
size="2"><spanstyle="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family: 
Arial"> </span></font></span><p class="MsoNormal"><span class="EmailStyle15"><font color="black" face="Arial"
size="2"><spanstyle="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family: 
Arial"><span style="mso-spacerun:
yes">                </span>Atul Here, I have one problem while accessing Database Records Or Recordset from stored
procedure.Procedure is like this,</span></font></span><p class="MsoNormal"><span class="EmailStyle15"><font
color="black"face="Arial" size="2"><span style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family: 
Arial"> </span></font></span><p class="MsoNormal" style="margin-left:.5in"><span class="EmailStyle15"><font
color="black"face="Arial" size="2"><span style="font-size:10.0pt;mso-bidi-font-size: 
12.0pt;font-family:Arial">CREATE FUNCTION b_function() RETURNS int4 AS '</span></font></span><p class="MsoNormal"
style="margin-left:.5in"><spanclass="EmailStyle15"><font color="black" face="Arial" size="2"><span
style="font-size:10.0pt;mso-bidi-font-size:
12.0pt;font-family:Arial">DECLARE</span></font></span><p class="MsoNormal" style="margin-left:.5in"><span
class="EmailStyle15"><fontcolor="black" face="Arial" size="2"><span style="font-size:10.0pt;mso-bidi-font-size: 
12.0pt;font-family:Arial"><span style="mso-spacerun: yes">   </span>an_integer int4;</span></font></span><p
class="MsoNormal"style="margin-left:.5in"><span class="EmailStyle15"><font color="black" face="Arial" size="2"><span
style="font-size:10.0pt;mso-bidi-font-size:
12.0pt;font-family:Arial">BEGIN</span></font></span><p class="MsoNormal" style="margin-left:.5in"><span
class="EmailStyle15"><fontcolor="black" face="Arial" size="2"><span style="font-size:10.0pt;mso-bidi-font-size: 
12.0pt;font-family:Arial"><span style="mso-spacerun: yes">   </span>select emp_id from employee;</span></font></span><p
class="MsoNormal"style="margin-left:.5in"><span class="EmailStyle15"><font color="black" face="Arial" size="2"><span
style="font-size:10.0pt;mso-bidi-font-size:
12.0pt;font-family:Arial"><span style="mso-spacerun: yes">   </span>return an_integer;</span></font></span><p
class="MsoNormal"style="margin-left:.5in"><span class="EmailStyle15"><font color="black" face="Arial" size="2"><span
style="font-size:10.0pt;mso-bidi-font-size:
12.0pt;font-family:Arial">END;</span></font></span><p class="MsoNormal" style="margin-left:.5in"><span
class="EmailStyle15"><fontcolor="black" face="Arial" size="2"><span style="font-size:10.0pt;mso-bidi-font-size: 
12.0pt;font-family:Arial">'</span></font></span><p class="MsoNormal" style="margin-left:.5in"><span
class="EmailStyle15"><fontcolor="black" face="Arial" size="2"><span style="font-size:10.0pt;mso-bidi-font-size: 
12.0pt;font-family:Arial">LANGUAGE 'plpgsql';</span></font></span><p class="MsoNormal"><span class="EmailStyle15"><font
color="black"face="Arial" size="2"><span style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family: 
Arial"> </span></font></span><p class="MsoNormal"><span class="EmailStyle15"><font color="black" face="Arial"
size="2"><spanstyle="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family: 
Arial">I create the procedure . After that I run the statement like</span></font></span><p class="MsoNormal"><span
class="EmailStyle15"><fontcolor="black" face="Arial" size="2"><span
style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:
Arial"> </span></font></span><p class="MsoNormal" style="text-indent:.5in"><span class="EmailStyle15"><font
color="black"face="Arial" size="2"><span style="font-size:10.0pt;mso-bidi-font-size: 
12.0pt;font-family:Arial">Test=#> select b_function();</span></font></span><p class="MsoNormal"><span
class="EmailStyle15"><fontcolor="black" face="Arial" size="2"><span
style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:
Arial"> </span></font></span><p class="MsoNormal"><span class="EmailStyle15"><font color="black" face="Arial"
size="2"><spanstyle="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family: 
Arial">Error comes like</span></font></span><p class="MsoNormal"><span class="EmailStyle15"><font color="black"
face="Arial"size="2"><span style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family: 
Arial"> </span></font></span><p class="MsoNormal" style="margin-left:.5in;mso-layout-grid-align:none;
text-autospace:none"><b><font color="red" face="Default" size="1"><span
style="font-size:8.0pt;font-family:Default;color:red;font-weight:bold">Error:ERROR:<span style="mso-spacerun: yes"> 
</span>SELECTquery has no destination for result data.</span></font></b><p class="MsoNormal"
style="margin-left:.5in;mso-layout-grid-align:none;
text-autospace:none"><b><font color="red" face="Default" size="1"><span
style="font-size:8.0pt;font-family:Default;color:red;font-weight:bold"><spanstyle="mso-tab-count:1">               
</span>Ifyou want to discard the results, use PERFORM instead.</span></font></b><p class="MsoNormal"
style="margin-left:.5in;mso-layout-grid-align:none;
text-autospace:none"><b><font color="red" face="Default" size="1"><span
style="font-size:8.0pt;font-family:Default;color:red;font-weight:bold">WARNING:<spanstyle="mso-spacerun: yes"> 
</span>Erroroccurred while executing PL/pgSQL function b_function</span></font></b><p class="MsoNormal"
style="margin-left:.5in;mso-layout-grid-align:none;
text-autospace:none"><b><font color="red" face="Default" size="1"><span
style="font-size:8.0pt;font-family:Default;color:red;font-weight:bold">WARNING:<spanstyle="mso-spacerun: yes"> 
</span>line4 at SQL statement</span></font></b><p class="MsoNormal"
style="mso-layout-grid-align:none;text-autospace:none"><b><fontcolor="red" face="Default" size="1"><span
style="font-size:8.0pt;font-family:Default;
color:red;font-weight:bold"> </span></font></b><p class="MsoNormal"><span class="EmailStyle15"><font color="black"
face="Arial"size="2"><span style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family: 
Arial">Also I use PERFORM statement. But still problem is not resolved.</span></font></span><p class="MsoNormal"><span
class="EmailStyle15"><fontcolor="black" face="Arial" size="2"><span
style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:
Arial"> </span></font></span><p class="MsoNormal"><span class="EmailStyle15"><font color="black" face="Arial"
size="2"><spanstyle="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family: 
Arial">Please Help me. I hope your kind co-operation.</span></font></span><p class="MsoNormal"><span
class="EmailStyle15"><fontcolor="black" face="Arial" size="2"><span
style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:
Arial"> </span></font></span><p class="MsoNormal"><span class="EmailStyle15"><font color="black" face="Arial"
size="2"><spanstyle="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family: 
Arial">Thanks.</span></font></span><p class="MsoNormal"><span class="EmailStyle15"><font color="black" face="Arial"
size="2"><spanstyle="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family: 
Arial"> </span></font></span><p class="MsoNormal"><span class="EmailStyle15"><font color="black" face="Arial"
size="2"><spanstyle="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family: 
Arial">Atul…</span></font></span></div>

Re: Stored Procedure Problem

From
Christoph Haller
Date:
> CREATE FUNCTION b_function() RETURNS int4 AS '
> DECLARE
>    an_integer int4;
> BEGIN
>    select emp_id from employee;
>    return an_integer;
> END;
> '
> LANGUAGE 'plpgsql';
>
Try
SELECT INTO an_integer emp_id from employee;

Regards, Christoph



Re: Stored Procedure Problem

From
Héctor Iturre
Date:
Hi,   use this
CREATE FUNCTION b_function() RETURNS int4 AS 'DECLARE   an_integer int4;BEGIN   select into an_integer emp_id from
employee;  return an_integer;END;'LANGUAGE 'plpgsql';
 

--- Atul <atul@imcindia.net> escribió: > Hello,
> 
>                 Atul Here, I have one problem while
> accessing Database
> Records Or Recordset from stored procedure.
> Procedure is like this,
> 
> CREATE FUNCTION b_function() RETURNS int4 AS '
> DECLARE
>    an_integer int4;
> BEGIN
>    select emp_id from employee;
>    return an_integer;
> END;
> '
> LANGUAGE 'plpgsql';
> 
> I create the procedure . After that I run the
> statement like
> 
> Test=#> select b_function();
> 
> Error comes like
> 
> Error: ERROR:  SELECT query has no destination for
> result data.
>                 If you want to discard the results,
> use PERFORM instead.
> WARNING:  Error occurred while executing PL/pgSQL
> function b_function
> WARNING:  line 4 at SQL statement
> 
> Also I use PERFORM statement. But still problem is
> not resolved.
> 
> Please Help me. I hope your kind co-operation.
> 
> Thanks.
> 
> Atul…
>  

Ahora podés usar Yahoo! Messenger desde tu celular. Aprendé cómo hacerlo en Yahoo! Móvil:
http://ar.mobile.yahoo.com/sms.html


Re: Stored Procedure Problem

From
"Atul"
Date:
<div class="Section1"><p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><font color="black"
face="CourierNew" size="2"><span style="font-size:10.0pt;font-family: 
"Courier New";color:black">Hi,</span></font><font color="black" face="Courier New" size="2"><span
style="font-size:10.0pt;font-family:"CourierNew"; 
color:black;mso-color-alt:windowtext"></span></font><p class="MsoNormal"
style="mso-layout-grid-align:none;text-autospace:none"><fontcolor="black" face="Courier New" size="2"><span
style="font-size:10.0pt;font-family:
"Courier New";color:black"><span style="mso-tab-count:1">      </span>How to return multiple columns through stored
procedure.</span></font><fontcolor="black" face="Courier New" size="2"><span
style="font-size:10.0pt;font-family:"CourierNew"; 
color:black;mso-color-alt:windowtext"></span></font><p class="MsoNormal"
style="mso-layout-grid-align:none;text-autospace:none"><fontcolor="black" face="Courier New" size="2"><span
style="font-size:10.0pt;font-family:
"Courier New";color:black"> </span></font><font color="black" face="Courier New" size="2"><span
style="font-size:10.0pt;font-family:
"Courier New";color:black;mso-color-alt:windowtext"></span></font><p class="MsoNormal"
style="text-indent:.5in;mso-layout-grid-align:none;
text-autospace:none"><b><font color="blue" face="Courier New" size="2"><span
style="font-size:10.0pt;font-family:"CourierNew";color:blue;font-weight:bold">Consider EX.</span></font></b><p
class="MsoNormal"style="mso-layout-grid-align:none;text-autospace:none"><font color="black" face="Courier New"
size="2"><spanstyle="font-size:10.0pt;font-family: 
"Courier New";color:black"> </span></font><font color="black" face="Courier New" size="2"><span
style="font-size:10.0pt;font-family:
"Courier New";color:black;mso-color-alt:windowtext"></span></font><p class="MsoNormal"
style="margin-left:.5in;mso-layout-grid-align:none;
text-autospace:none"><font color="black" face="Courier New" size="2"><span style="font-size:10.0pt;font-family:"Courier
New";color:black">CREATEFUNCTION b_function() RETURNS varchar AS '</span></font><font color="black" face="Courier New"
size="2"><spanstyle="font-size:10.0pt;font-family:"Courier New"; 
color:black;mso-color-alt:windowtext"></span></font><p class="MsoNormal"
style="margin-left:.5in;mso-layout-grid-align:none;
text-autospace:none"><font color="black" face="Courier New" size="2"><span style="font-size:10.0pt;font-family:"Courier
New";color:black"><spanstyle="mso-spacerun: yes"> </span>DECLARE</span></font><font color="black" face="Courier New"
size="2"><spanstyle="font-size:10.0pt;font-family:"Courier New"; 
color:black;mso-color-alt:windowtext"></span></font><p class="MsoNormal"
style="margin-left:.5in;mso-layout-grid-align:none;
text-autospace:none"><font color="black" face="Courier New" size="2"><span style="font-size:10.0pt;font-family:"Courier
New";color:black"><spanstyle="mso-spacerun: yes">    </span>an_integer int4;</span></font><font color="black"
face="CourierNew" size="2"><span style="font-size:10.0pt;font-family: 
"Courier New";color:black;mso-color-alt:windowtext"></span></font><p class="MsoNormal"
style="margin-left:.5in;mso-layout-grid-align:none;
text-autospace:none"><font color="black" face="Courier New" size="2"><span style="font-size:10.0pt;font-family:"Courier
New";color:black"><spanstyle="mso-spacerun: yes">    </span>an_name<span style="mso-spacerun: yes">   
</span>varchar;</span></font><fontcolor="black" face="Courier New" size="2"><span style="font-size:10.0pt;font-family: 
"Courier New";color:black;mso-color-alt:windowtext"></span></font><p class="MsoNormal"
style="margin-left:.5in;mso-layout-grid-align:none;
text-autospace:none"><font color="black" face="Courier New" size="2"><span style="font-size:10.0pt;font-family:"Courier
New";color:black"><spanstyle="mso-spacerun: yes"> </span>BEGIN</span></font><font color="black" face="Courier New"
size="2"><spanstyle="font-size:10.0pt;font-family:"Courier New"; 
color:black;mso-color-alt:windowtext"></span></font><p class="MsoNormal"
style="margin-left:.5in;mso-layout-grid-align:none;
text-autospace:none"><font color="black" face="Courier New" size="2"><span style="font-size:10.0pt;font-family:"Courier
New";color:black"><spanstyle="mso-spacerun: yes">    </span>select into an_integer emp_id,an_name emp_name from
employee;</span></font><fontcolor="black" face="Courier New" size="2"><span
style="font-size:10.0pt;font-family:"CourierNew"; 
color:black;mso-color-alt:windowtext"></span></font><p class="MsoNormal"
style="margin-left:.5in;mso-layout-grid-align:none;
text-autospace:none"><font color="black" face="Courier New" size="2"><span style="font-size:10.0pt;font-family:"Courier
New";color:black"><spanstyle="mso-spacerun: yes">    </span>return an_integer,an_name;</span></font><font color="black"
face="CourierNew" size="2"><span style="font-size:10.0pt;font-family: 
"Courier New";color:black;mso-color-alt:windowtext"></span></font><p class="MsoNormal"
style="margin-left:.5in;mso-layout-grid-align:none;
text-autospace:none"><font color="black" face="Courier New" size="2"><span style="font-size:10.0pt;font-family:"Courier
New";color:black"><spanstyle="mso-spacerun: yes"> </span>END;</span></font><font color="black" face="Courier New"
size="2"><spanstyle="font-size:10.0pt;font-family:"Courier New"; 
color:black;mso-color-alt:windowtext"></span></font><p class="MsoNormal"
style="margin-left:.5in;mso-layout-grid-align:none;
text-autospace:none"><font color="black" face="Courier New" size="2"><span style="font-size:10.0pt;font-family:"Courier
New";color:black"><spanstyle="mso-spacerun: yes"> </span>'</span></font><font color="black" face="Courier New"
size="2"><spanstyle="font-size:10.0pt;font-family:"Courier New"; 
color:black;mso-color-alt:windowtext"></span></font><p class="MsoNormal"
style="margin-left:.5in;mso-layout-grid-align:none;
text-autospace:none"><font color="black" face="Courier New" size="2"><span style="font-size:10.0pt;font-family:"Courier
New";color:black"><spanstyle="mso-spacerun: yes"> </span>LANGUAGE 'plpgsql';</span></font><font color="black"
face="CourierNew" size="2"><span style="font-size:10.0pt;font-family: 
"Courier New";color:black;mso-color-alt:windowtext"></span></font><p class="MsoNormal"><span class="EmailStyle15"><font
color="black"face="Arial" size="2"><span style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family: 
Arial"> </span></font></span><p class="MsoNormal"><span class="EmailStyle15"><font color="black" face="Arial"
size="2"><spanstyle="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family: 
Arial">But This Gives Error(For Multiple column , not for single column)</span></font></span><p class="MsoNormal"><span
class="EmailStyle15"><fontcolor="black" face="Arial" size="2"><span
style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:
Arial">Please Let me know.</span></font></span><p class="MsoNormal"><span class="EmailStyle15"><font color="black"
face="Arial"size="2"><span style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family: 
Arial"> </span></font></span><p class="MsoNormal"><span class="EmailStyle15"><font color="black" face="Arial"
size="2"><spanstyle="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family: 
Arial">Thanks</span></font></span><p class="MsoNormal"><span class="EmailStyle15"><font color="black" face="Arial"
size="2"><spanstyle="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family: 
Arial"> </span></font></span><p class="MsoNormal"><span class="EmailStyle15"><font color="black" face="Arial"
size="2"><spanstyle="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family: 
Arial">Atul…</span></font></span></div>

Re: Stored Procedure Problem

From
Tomasz Myrta
Date:
Atul wrote:

> CREATE FUNCTION b_function() RETURNS varchar AS '
>
>  DECLARE
>
>     an_integer int4;
>
>     an_name    varchar;
>
>  BEGIN
>
>     select into an_integer emp_id,an_name emp_name from employee;
>
>     return an_integer,an_name;
>
>  END;
>
>  '

First: select into an_integer,an_name emp_id,emp_name...
Second: you can't return 2 variables from plpgsql function.

Tomasz Myrta



Re: Stored Procedure Problem

From
Roberto Mello
Date:
On Thu, Dec 12, 2002 at 08:13:22PM +0530, Atul wrote:
> Hi,
>       How to return multiple columns through stored procedure.

<snip>
> But This Gives Error(For Multiple column , not for single column)
> Please Let me know.

You didn't say which version of PostgreSQL you are using.

In PG 7.2 you can return a cursor.
In 7.3 you can return a cursor or a true record set.

See http://developer.postgresql.org/docs/postgres/plpgsql-cursors.html
(true to 7.2 and 7.3)

Also
http://developer.postgresql.org/docs/postgres/plpgsql-control-structures.html
("Returning from a function"). The part on returning record sets is only
relevant to 7.3

-Roberto

-- 
+----|        Roberto Mello   -    http://www.brasileiro.net/  |------+
+       Computer Science Graduate Student, Utah State University      +
+       USU Free Software & GNU/Linux Club - http://fslc.usu.edu/     +
:.:..::..:::.:::::..:..:.:..:..::::.:...:: => BRAILE TAGLINE!


Re: Stored Procedure Problem

From
"Rajesh Kumar Mallah."
Date:
In 7.3 you can ,

in follwoing steps,

1. do a CREATE TYPE (i would recommend to use a sperate schema for storing user defined types)
2. in plpgsql declare the RECORD of that type .

3. populate the record varible according to your business logic and return the RECORD using  RETURN statements.


hope it will help ,
if not please revert back.


regds
mallah.

On Thursday 12 December 2002 08:21 pm, Tomasz Myrta wrote:
> Atul wrote:
> > CREATE FUNCTION b_function() RETURNS varchar AS '
> >
> >  DECLARE
> >
> >     an_integer int4;
> >
> >     an_name    varchar;
> >
> >  BEGIN
> >
> >     select into an_integer emp_id,an_name emp_name from employee;
> >
> >     return an_integer,an_name;
> >
> >  END;
> >
> >  '
>
> First: select into an_integer,an_name emp_id,emp_name...
> Second: you can't return 2 variables from plpgsql function.
>
> Tomasz Myrta
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org

-- 
Rajesh Kumar Mallah,
Project Manager (Development)
Infocom Network Limited, New Delhi
phone: +91(11)6152172 (221) (L) ,9811255597 (M)

Visit http://www.trade-india.com ,
India's Leading B2B eMarketplace.