Обсуждение: Please help re function packaging...

Поиск
Список
Период
Сортировка

Please help re function packaging...

От
brynk
Дата:
 Anyone please help... I'm a newbie on creating
functions in postgresql.

Here is an oracle package that I'm trying to port to
postgresql:

CREATE OR REPLACE  PACKAGE BODY NewsPkg.NewsTools
AS
   PROCEDURE del_news (i_id IN VARCHAR2)
   IS
   BEGIN
      DELETE FROM tbl_news_type
            WHERE uniqueid = i_id;

      DELETE FROM tbl_news
            WHERE uniqueid = i_id;
   END del_news;

   PROCEDURE upd_newstype
   IS
      CURSOR cur_news
      IS
         SELECT   uniqueid
             FROM tbl_news_type
            WHERE mother_id IS NULL
         GROUP BY uniqueid;

      v_id   tbl_news_type.uniqueid%TYPE;
   BEGIN
      OPEN cur_news;

      LOOP
         FETCH cur_news INTO v_id;
         upd_mothernews (v_id);
         COMMIT;
      END LOOP;

      CLOSE cur_news;
   END upd_newstype;
END NewsTools;

Can anyone help me on how this oracle package would
look like in postgresql... I would really appreciate
it if someone could show me even the synopsis of this
code in postgresql. I've been trying all sorts of ways
to come up with the code in postgresql but when I this
command:
    select NewsTools.del_news('20040111DN001869');
I get this error:
    ERROR:  Namespace "NewsTools" does not exist

Tnx,
Darius

__________________________________
Do you Yahoo!?
Yahoo! Finance: Get your refund fast by filing online.
http://taxes.yahoo.com/filing.html

Re: Please help re function packaging...

От
Richard Huxton
Дата:
On Tuesday 10 February 2004 11:18, brynk wrote:
>  Anyone please help... I'm a newbie on creating
> functions in postgresql.
>
> Here is an oracle package that I'm trying to port to
> postgresql:

> CREATE OR REPLACE  PACKAGE BODY NewsPkg.NewsTools

We don't have packages.

>    PROCEDURE del_news (i_id IN VARCHAR2)

These will be functions rather than procedures.

> Can anyone help me on how this oracle package would
> look like in postgresql... I would really appreciate
> it if someone could show me even the synopsis of this
> code in postgresql. I've been trying all sorts of ways
> to come up with the code in postgresql

Post one of your functions with the Oracle equivalent and someone will be able
to point out any problems.

> but when I this
> command:
>     select NewsTools.del_news('20040111DN001869');
> I get this error:
>     ERROR:  Namespace "NewsTools" does not exist

And does the namespace (i.e. schema) NewsTools exist?

--
  Richard Huxton
  Archonet Ltd

Re: Please help re function packaging...

От
Shridhar Daithankar
Дата:
On Tuesday 10 February 2004 16:48, brynk wrote:
>  Anyone please help... I'm a newbie on creating
> functions in postgresql.
>
> Here is an oracle package that I'm trying to port to
> postgresql:
>
> CREATE OR REPLACE  PACKAGE BODY NewsPkg.NewsTools
> AS

Postgresql does not have packages. However you can create the schema which
contains only functions as a satisfactory replacement of packages.

Of course some 'minor' details such as package level variables could still be
a problem..:-)

So you have to replace this create package statement with a create schema
statement.

> Can anyone help me on how this oracle package would
> look like in postgresql... I would really appreciate
> it if someone could show me even the synopsis of this
> code in postgresql. I've been trying all sorts of ways
> to come up with the code in postgresql but when I this
> command:
>     select NewsTools.del_news('20040111DN001869');
> I get this error:
>     ERROR:  Namespace "NewsTools" does not exist

Postgresql is interpreting it as a schema access. If you define schema as I
have suggested above, it should not be a problem..

 HTH

 Shridhar