Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как получить ResultSet из функции PostGreSql?
|
|||
|---|---|---|---|
|
#18+
Всем, привет! Подскажите, пожалуйста. Как получить ResultSet из функции PostGreSql8.0.3(Windows) и как должна выглядить эта PostGreSql-функция? И как с ней работать на клиенте(в данном случае PHP)? Если можно ссылку на пример. С уважением Нилов Сергей <nilov@vikoil.dn.ua> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2005, 12:48 |
|
||
|
Как получить ResultSet из функции PostGreSql?
|
|||
|---|---|---|---|
|
#18+
этот форум "неплохо оснащен" в т.ч. тут есть поиск Пример http://195.128.121.254/forum/actualtopics.aspx?search=SETOF&submit=%CD%E0%E9%F2%E8&bid=7 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2005, 13:46 |
|
||
|
Как получить ResultSet из функции PostGreSql?
|
|||
|---|---|---|---|
|
#18+
4321этот форум "неплохо оснащен" в т.ч. тут есть поиск Пример http://195.128.121.254/forum/actualtopics.aspx?search=SETOF&submit=%CD%E0%E9%F2%E8&bid=7 Pilot Код: plaintext 1. 2. 3. 4. 5. Делаю свою функцию так же и получаю в ответ после вызова: ERROR: query-specified return row and actual function return row do not match 7.4 версия сервера, что не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 13:42 |
|
||
|
Как получить ResultSet из функции PostGreSql?
|
|||
|---|---|---|---|
|
#18+
фсе что угодно, например другой язык ф-ии LANGUAGE 'sql' VOLATILE; для других языков - другой способ ретёрна сета. приведите СВОЮ ф-ю и свой же вызов с ошибкой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 15:06 |
|
||
|
Как получить ResultSet из функции PostGreSql?
|
|||
|---|---|---|---|
|
#18+
4321фсе что угодно, например другой язык ф-ии LANGUAGE 'sql' VOLATILE; для других языков - другой способ ретёрна сета. приведите СВОЮ ф-ю и свой же вызов с ошибкой. так создаю в EMS PostgreSQL Managr: CREATE OR REPLACE FUNCTION getclients() RETURNS SETOF clients AS SELECT * FROM clients; LANGUAGE SQL; так получается сама функция: CREATE OR REPLACE FUNCTION "public"."getclients" () RETURNS SETOF "public"."clients" AS SELECT * FROM clients; LANGUAGE 'sql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER; так вызываю: SELECT * FROM getclients(); вот ответ: ERROR: query-specified return row and actual function return row do not match язык подключён в базе один, plpgsql ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 16:28 |
|
||
|
Как получить ResultSet из функции PostGreSql?
|
|||
|---|---|---|---|
|
#18+
Вы ничего не пропустили? CREATE OR REPLACE FUNCTION getclients() RETURNS SETOF clients AS ' SELECT * FROM clients; ' LANGUAGE SQL; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 16:53 |
|
||
|
Как получить ResultSet из функции PostGreSql?
|
|||
|---|---|---|---|
|
#18+
4321Вы ничего не пропустили? CREATE OR REPLACE FUNCTION getclients() RETURNS SETOF clients AS ' SELECT * FROM clients; ' LANGUAGE SQL; ну это само собой.... просто специально не напечатал.... Вы по существу можете что-то сказать? уже давно бьюсь... всю доку перерыл.... и всё на месте топчусь... :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 16:56 |
|
||
|
Как получить ResultSet из функции PostGreSql?
|
|||
|---|---|---|---|
|
#18+
# create table mytable ( id integer, name text ); CREATE TABLE # create function getMyTable() returns setof mytable as 'select * from mytable;' language 'sql'; CREATE FUNCTION # insert into mytable values ( 1, 'lexa' ); INSERT 21359156 1 # select * from getMyTable(); id | name ----+------ 1 | lexa (1 row) # alter table mytable drop column name; ALTER TABLE # select * from getMyTable(); ERROR: Query-specified return tuple and actual function return tuple do not match ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 17:13 |
|
||
|
Как получить ResultSet из функции PostGreSql?
|
|||
|---|---|---|---|
|
#18+
LeXa NalBat# create table mytable ( id integer, name text ); CREATE TABLE # create function getMyTable() returns setof mytable as 'select * from mytable;' language 'sql'; CREATE FUNCTION # insert into mytable values ( 1, 'lexa' ); INSERT 21359156 1 # select * from getMyTable(); id | name ----+------ 1 | lexa (1 row) # alter table mytable drop column name; ALTER TABLE # select * from getMyTable(); ERROR: Query-specified return tuple and actual function return tuple do not match Я создаю свою функцию в тот момент, когда таблица уже есть и несколько записей в ней лежат... Честно говоря, я не совсем понял смысл Вашего поста... а в документации я уже читал как надо поступать, только эффекта ноль... :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 17:25 |
|
||
|
Как получить ResultSet из функции PostGreSql?
|
|||
|---|---|---|---|
|
#18+
Спасиб 2 ЛНБ, - вспомнил - проскакивало уже - необходимо пересоздать ф-ю после переопределения таблицы - сменился тип ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 17:25 |
|
||
|
Как получить ResultSet из функции PostGreSql?
|
|||
|---|---|---|---|
|
#18+
GreyVSЯ создаю свою функцию в тот момент, когда таблица уже есть и несколько записей в ней лежат...То есть например так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 4321необходимо пересоздать ф-ю после переопределения таблицыпереопределение таблицы - это drop/create GreyVSЧестно говоря, я не совсем понял смысл Вашего поста... а в документации я уже читал как надо поступать, только эффекта ноль... :(Наверное надо делать drop/create table. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 17:37 |
|
||
|
Как получить ResultSet из функции PostGreSql?
|
|||
|---|---|---|---|
|
#18+
4321Спасиб 2 ЛНБ, - вспомнил - проскакивало уже - необходимо пересоздать ф-ю после переопределения таблицы - сменился тип Да нет в моём случае никакого переопределения таблиц! (хотя теперь буду и это знать, спасибо) И всё же... куда рыть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 17:38 |
|
||
|
Как получить ResultSet из функции PostGreSql?
|
|||
|---|---|---|---|
|
#18+
GreyVSДа нет в моём случае никакого переопределения таблиц!Колонки не дропали? select attname from pg_class, pg_attribute where relname='clients' and oid=attrelid and attisdropped; GreyVSИ всё же... куда рыть?Попробуйте пересоздать таблицу, и затем - функцию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 17:49 |
|
||
|
Как получить ResultSet из функции PostGreSql?
|
|||
|---|---|---|---|
|
#18+
Мда :/ создал новую таблицу, только не EMS... а запросом CREATE.... и создал новую функцию на эту таблицу и всё заработало... странно как-то Первая моя таблица, с которой не работало, была создана мастером в EMS PostgreSQL Manager .... что-то не так делает мастер при создании таблиц? Или может есть какая-то тонкость при работе с таким инструментом? Как-то не серьёзно это если такая ситуация является нормальной... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 17:50 |
|
||
|
Как получить ResultSet из функции PostGreSql?
|
|||
|---|---|---|---|
|
#18+
DELETE FROM mytable; VACUUM FULL; select * from getMyTable(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 17:55 |
|
||
|
Как получить ResultSet из функции PostGreSql?
|
|||
|---|---|---|---|
|
#18+
4321DELETE FROM mytable; VACUUM FULL; select * from getMyTable();не помогает DELETE FROM mytable; VACUUM FULL; select * from getMyTable(); insert into mytable values ( 2 ); select * from getMyTable(); ERROR: Query-specified return tuple and actual function return tuple do not match P.S.: ошибка не вылетает, если возвращается 0 строк ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 18:04 |
|
||
|
Как получить ResultSet из функции PostGreSql?
|
|||
|---|---|---|---|
|
#18+
мдя-ссс ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 18:52 |
|
||
|
Как получить ResultSet из функции PostGreSql?
|
|||
|---|---|---|---|
|
#18+
Уважаемые! Расскажите у кого на какой версии сервера происходит такая ошибка? у меня сервер 7.4.6 под FreeBSD 4.11 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2005, 16:34 |
|
||
|
Как получить ResultSet из функции PostGreSql?
|
|||
|---|---|---|---|
|
#18+
На 7.3 ошибка наблюдается, на 8.0 - нет. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Код: 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. 26. 27. 28. 29. Код: 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. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2005, 16:53 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=33191642&tid=2007090]: |
0ms |
get settings: |
5ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
130ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 226ms |
| total: | 417ms |

| 0 / 0 |
