|
Передача значений в функцию! (help!)
|
|||
---|---|---|---|
#18+
Добрый день ! Есть функция ( в таком виде работает без проблем) , но хотелось бы не привязыватся к имени таблицы (cros). При передаче третьего значения (как тип техт) имя таблицы функция создается, но при передаче значений выдает ошибку. CREATE FUNCTION region_to(inet,inet) RETURNS numeric AS 'DECLARE sum_bytes numeric(10,3); BEGIN SELECT INTO sum_bytes trunc((sum(bytes)/1073741824),3) FROM cros,ip_region WHERE dst_ip in ( $1, $2) and ((cros.src_ip) << inet (ip_region.ip_addr)); RETURN sum_bytes; END ' LANGUAGE 'plpgsql'; ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2003, 12:27 |
|
Передача значений в функцию! (help!)
|
|||
---|---|---|---|
#18+
похоже пошаманить надо с EXECUTE. (поищи по форуму - обсуждались аналогичные проблемы с динамич. ссыкулем). пример передачи в динамик ссыкуль имен-строк в справке к ПГ-админу: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2003, 12:56 |
|
Передача значений в функцию! (help!)
|
|||
---|---|---|---|
#18+
create function test(text) returns integer as' declare --имя таблицы tablename alias for $1; --набор записей rec record; result integer; begin /* запрос с использованием имени таблицы, переданного в качестве аргумента типа text */ for rec in execute ''select count(*) as cnt from ''|| tablename loop --результат result:=rec.cnt::integer; end loop; return result; end; ' language plpgsql Час назад сам опубликовал топик на такую же тему. Премного благодарен за твое сообщение - навело на мысль. Попробовал на 7.2.2 - все работает. Точно также имена полей можно задавать. Удачи! ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2004, 20:34 |
|
|
start [/forum/topic.php?fid=53&msg=32348990&tid=2007978]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
61ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 162ms |
0 / 0 |