Am Dienstag, 13. August 2002 08:06 schrieb Sugandha Shah:
> Hi ,
>
> I'm porting MS- SQL stored procedure to postgres . I'm getting this
> error :
>
> Error occurred while executing PL/pgSQL function
> sel_free_disk_space line 7 at SQL statement
> SELECT query has no destination for result data.
> If you want to discard the results, use PERFORM instead.

you need to SELECT INTO if you want to set a varaible in plpgsql

try this:
DECLARE
  var_free integer; 
  -- var_free is used just to name it differently from the column name
BEGIN
  SELECT INTO var_free 
        free from logical_drive where computer_id = $1  and
letter = upper($2); 
  IF var_free THEN 
...


Janning

> CREATE FUNCTION sel_free_disk_space(int4,bpchar) RETURNS integer 
> AS ' DECLARE
>   -- Declare variable to store the free space.
>         free INTEGER;
>
> BEGIN
>    select free  from logical_drive where computer_id = $1  and
> letter = upper($2); 
> IF free IS NULL  THEN
>        RETURN -1;
>     END IF;
>
>   RETURN free;
> END;
> 'LANGUAGE 'plpgsql';
>
>
> I'm not able to understand what I'm missing ?
>
> Secondly is there any equivalent of exec for postgres ?
>
> Any help will be highly appreciated.
>
> Regards,
> -Sugandha

-- 
Planwerk 6 /websolutions
Herzogstraße 86
40215 Düsseldorf

fon 0211-6015919
fax 0211-6015917
http://www.planwerk6.de

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html

Reply via email to