Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проблема с функцией.
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Есть функция: CREATE OR REPLACE FUNCTION "public"."temp111" () RETURNS SETOF "public"."temp" AS $body$ DROP TABLE IF EXISTS temp11; create temporary table temp11( "ddate" DATE, "ttime" TIME WITHOUT TIME ZONE, "ihwnd" INTEGER, "mode" INTEGER, "path" CHAR(512), "comp_name" CHAR(256) ); SELECT public.process_inf.ddate, public.process_inf.ttime, public.process_inf.ihwnd, public.process_inf.mode, public.process_inf."path", public.comp_name_id.comp_name FROM public.comp_name_id INNER JOIN public.process_inf ON (public.comp_name_id.id = public.process_inf.comp_id) WHERE (public.process_inf.ddate >= '05-01-2008') AND (public.process_inf.ddate <= '05-05-2008') AND ((public.process_inf."path" ILIKE '%\WINWORD.EXE%') OR (public.process_inf."path" ILIKE '%\EXCEL.EXE%')) ORDER BY public.process_inf.ddate, public.comp_name_id.comp_name, public.process_inf.ihwnd, public.process_inf.mode DESC; $body$ LANGUAGE 'sql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER; где, RETURNS SETOF "public"."temp" - представление (view). Мне надо чтобы функция не только создавала таблицу, но и писала туда выбранные данные, чтобы потом temporary table temp11 можно было обработать. А сейчас мне только выводятся данные через view. Пытаюсь написать select .... into temp11 или create temp table temp11 as select ... - pgAdmin ругается. Подскажите пожалуйста что можно сделать. Пробовал у функции на выход выставлять разные типы, не помогает. Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2008, 10:15 |
|
||
|
Проблема с функцией.
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. авторpgAdmin ругается.как именно ? версия postgres какая ? -- „Истина — это вовсе не то, что можно убедительно доказать, это то, что делает всё проще и понятнее“ — Антуан де Сент-Экзюпери ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2008, 12:07 |
|
||
|
Проблема с функцией.
|
|||
|---|---|---|---|
|
#18+
используя AS или INTO пишу так: DROP TABLE IF EXISTS temp11; create temporary table temp11( "ddate" DATE, "ttime" TIME WITHOUT TIME ZONE, "ihwnd" INTEGER, "mode" INTEGER, "path" CHAR(512), "comp_name" CHAR(256) ) AS SELECT public.process_inf.ddate, public.process_inf.ttime, public.process_inf.ihwnd, public.process_inf.mode, public.process_inf."path", public.comp_name_id.comp_name --INTO temp11 FROM public.comp_name_id INNER JOIN public.process_inf ON (public.comp_name_id.id = public.process_inf.comp_id) WHERE то ругается так ERROR: syntax error at or near "AS" SQL state: 42601 Character: 202 версия postgresql 8.2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2008, 12:16 |
|
||
|
Проблема с функцией.
|
|||
|---|---|---|---|
|
#18+
все работает. написал SELECT public.process_inf.ddate, public.process_inf.ttime, public.process_inf.ihwnd, public.process_inf.mode, public.process_inf."path", public.comp_name_id.comp_name INTO TEMPORARY TABLE temp11 FROM public.comp_name_id INNER JOIN public.process_inf ON (public.comp_name_id.id = public.process_inf.comp_id) WHERE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2008, 12:30 |
|
||
|
Проблема с функцией.
|
|||
|---|---|---|---|
|
#18+
запрос работает, а процедуру не создает. вот я написал CREATE OR REPLACE FUNCTION rrr(OUT "process_inf.ddate" date, OUT "process_inf.ttime" time without time zone, OUT "process_inf.ihwnd" integer, OUT "process_inf.mode" integer, OUT "process_inf.mode" bpchar, OUT "comp_name_id.comp_name" bpchar) RETURNS SETOF record AS $BODY$ DROP TABLE IF EXISTS temp11; SELECT public.process_inf.ddate, public.process_inf.ttime, public.process_inf.ihwnd, public.process_inf.mode, public.process_inf."path", public.comp_name_id.comp_name INTO TEMPORARY TABLE temp11 FROM public.comp_name_id INNER JOIN public.process_inf ON (public.comp_name_id.id = public.process_inf.comp_id) WHERE (public.process_inf.ddate >= '05-01-2008') AND (public.process_inf.ddate <= '05-05-2008') AND ((public.process_inf."path" ILIKE '%\WINWORD.EXE%') OR (public.process_inf."path" ILIKE '%\EXCEL.EXE%')) ORDER BY public.process_inf.ddate, public.comp_name_id.comp_name, public.process_inf.ihwnd, public.process_inf.mode DESC; select * from temp11;$BODY$ LANGUAGE 'sql' VOLATILE; ALTER FUNCTION rrr(OUT "process_inf.ddate" date, OUT "process_inf.ttime" time without time zone, OUT "process_inf.ihwnd" integer, OUT "process_inf.mode" integer, OUT "process_inf.mode" bpchar, OUT "comp_name_id.comp_name" bpchar) OWNER TO denis; а вот что он мне пишет ERROR: relation "temp11" does not exist SQL state: 42P01 Context: SQL function "rrr" я понимаю нет такой таблицы, а что можно сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2008, 13:20 |
|
||
|
Проблема с функцией.
|
|||
|---|---|---|---|
|
#18+
на sql наверное никак, можно например на plpgsql: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. -- „Истина — это вовсе не то, что можно убедительно доказать, это то, что делает всё проще и понятнее“ — Антуан де Сент-Экзюпери ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2008, 15:34 |
|
||
|
|

start [/forum/moderation_log.php?user_name=guestosoee]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
get settings: |
8ms |
get forum list: |
9ms |
get settings: |
7ms |
get forum list: |
15ms |
get settings: |
6ms |
get forum list: |
10ms |
get settings: |
5ms |
get forum list: |
15ms |
get settings: |
10ms |
get forum list: |
16ms |
get settings: |
8ms |
get forum list: |
17ms |
get settings: |
6ms |
get forum list: |
14ms |
get settings: |
4ms |
get forum list: |
15ms |
get settings: |
10ms |
get forum list: |
13ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
31ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 5418ms |
| total: | 5721ms |

| 0 / 0 |
