Re: which view is used another views
От | salah jubeh |
---|---|
Тема | Re: which view is used another views |
Дата | |
Msg-id | 800561.88704.qm@web52708.mail.re2.yahoo.com обсуждение исходный текст |
Ответ на | Re: which view is used another views (Raymond O'Donnell <rod@iol.ie>) |
Ответы |
Re: which view is used another views
|
Список | pgsql-general |
Hello Guys
The query in this function returns the dependency for level one. However, I need the dependency for all level. I am still new with plpgsql so; how can I use recursive function to return all dependency for all levels
CREATE OR REPLACE FUNCTION dependon (var text) RETURNS SETOF text AS
$BODY$
DECLARE
node record;
BEGIN
FOR node IN SELECT relname FROM pg_class WHERE OID in (
SELECT ev_class FROM pg_rewrite, pg_depend
WHERE pg_depend.objid = pg_rewrite.oid
AND deptype ='n'
AND refobjsubid = 1
AND refobjid::regclass::text = $1)
LOOP
IF node.relname IS NOT NULL THEN
RETURN NEXT depend(node.relname);
RETURN NEXT node.relname;
END IF;
END LOOP;
END
$BODY$
LANGUAGE 'plpgsql';
The query in this function returns the dependency for level one. However, I need the dependency for all level. I am still new with plpgsql so; how can I use recursive function to return all dependency for all levels
CREATE OR REPLACE FUNCTION dependon (var text) RETURNS SETOF text AS
$BODY$
DECLARE
node record;
BEGIN
FOR node IN SELECT relname FROM pg_class WHERE OID in (
SELECT ev_class FROM pg_rewrite, pg_depend
WHERE pg_depend.objid = pg_rewrite.oid
AND deptype ='n'
AND refobjsubid = 1
AND refobjid::regclass::text = $1)
LOOP
IF node.relname IS NOT NULL THEN
RETURN NEXT depend(node.relname);
RETURN NEXT node.relname;
END IF;
END LOOP;
END
$BODY$
LANGUAGE 'plpgsql';
Regards
From: Raymond O'Donnell <rod@iol.ie>
To: salah jubeh <s_jubeh@yahoo.com>
Cc: pgsql <pgsql-general@postgresql.org>
Sent: Thu, March 24, 2011 6:18:16 PM
Subject: Re: [GENERAL] which view is used another views
On 24/03/2011 16:06, salah jubeh wrote:
> Hello,
>
> How can I determine the views which are using a certain view.
If you're using pgAdmin, there's a "Dependants" tab which shows you the objects depending on another object.
Otherwise, I think you can query the pg_catalog.pg_depend table, but I don't know how you go about that.
Ray.
-- Raymond O'Donnell :: Galway :: Ireland
rod@iol.ie
-- Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
From: Raymond O'Donnell <rod@iol.ie>
To: salah jubeh <s_jubeh@yahoo.com>
Cc: pgsql <pgsql-general@postgresql.org>
Sent: Thu, March 24, 2011 6:18:16 PM
Subject: Re: [GENERAL] which view is used another views
On 24/03/2011 16:06, salah jubeh wrote:
> Hello,
>
> How can I determine the views which are using a certain view.
If you're using pgAdmin, there's a "Dependants" tab which shows you the objects depending on another object.
Otherwise, I think you can query the pg_catalog.pg_depend table, but I don't know how you go about that.
Ray.
-- Raymond O'Donnell :: Galway :: Ireland
rod@iol.ie
-- Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
В списке pgsql-general по дате отправления: