Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / передеть параметром имя таблицы / 3 сообщений из 3, страница 1 из 1
07.11.2005, 21:48
    #33365238
gryzz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передеть параметром имя таблицы
хочу посчитать количество записей в любой таблице базы, для этого хочу передать имя нужной таблицы параметром в функцию... не работает...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
CREATE OR REPLACE FUNCTION public.table_count(table)
  RETURNS int4 AS
' 
    DECLARE 
        table_ ALIAS FOR $1; 
        c INTEGER; 
    BEGIN 
        select count(*) from table_ into c;  
        RETURN c; 
    END; 
'
  LANGUAGE 'plpgsql' VOLATILE;
...
Рейтинг: 0 / 0
07.11.2005, 22:26
    #33365284
raul_83
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передеть параметром имя таблицы
Вот так попробуй

CREATE OR REPLACE FUNCTION public.table_count(TEXT)
RETURNS int4 AS
'
DECLARE
table_ ALIAS FOR $1;
c_ INTEGER;
query TEXT;
rec_ RECORD;

BEGIN
query := \' select count(*) as _count from \'||table_ ;

FOR rec_ IN EXECUTE query LOOP
c_:=rec_._count;
END LOOP;
RETURN c_;
END;
'
LANGUAGE 'plpgsql' VOLATILE;

select * from table_count ('table1');

Некрасиво - зато работает
...
Рейтинг: 0 / 0
07.11.2005, 23:14
    #33365307
gryzz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передеть параметром имя таблицы
спасибо... работает
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / передеть параметром имя таблицы / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]