Обсуждение: Please help re function packaging...
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
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
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