Re: which view is used another views

Поиск
Список
Период
Сортировка
От Emre Hasegeli
Тема Re: which view is used another views
Дата
Msg-id AANLkTimYrtBE+zhKyxKbZeJM87NNBWm3WjyuAJm=niQw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: which view is used another views  (salah jubeh <s_jubeh@yahoo.com>)
Ответы Re: which view is used another views  (salah jubeh <s_jubeh@yahoo.com>)
Список pgsql-general


On 25 March 2011 19:13, salah jubeh <s_jubeh@yahoo.com> wrote:
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';


You can do it with "WITH RECURSIVE" without PL/pgSQL:

http://www.postgresql.org/docs/current/static/queries-with.html

В списке pgsql-general по дате отправления:

Предыдущее
От: salah jubeh
Дата:
Сообщение: Re: which view is used another views
Следующее
От: Marco
Дата:
Сообщение: Query with time zone offset but without seconds