Thread: 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