Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
вопрос: SELECT into local_var column_name FROM <имя таблицы как параметр фукнкции> ? С EXECUTE это не проходит :((
|
|||
|---|---|---|---|
|
#18+
в функцию передаётся имя таблицы.. CREATE OR REPLACE FUNCTION function1(varchar) RETURNS integer AS' DECLARE table_name ALIAS FOR $1; sql_query varchar; qwer INTEGER; BEGIN -- Хочется так сделать select INTO qwer column1 FROM table_name LIMIT 1; -- естесно нехочет так -- если по другому EXECUTE ''select INTO qwer column1 FROM '' || table_name || '' LIMIT 1''; --тоже ругается что ошибка рядом с into return 1; END ' LANGUAGE 'plpgsql' Как можно разрешить этот трабл ... временно сделал геморойный вариант, но ИМХО он карявый: ......... row_data RECORD ........... FOR row_data IN EXECUTE ''select column1 FROM '' || table_name || '' LIMIT 1'' LOOP qwer:=row_data.column1; END LOOP; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2004, 15:53 |
|
||
|
вопрос: SELECT into local_var column_name FROM <имя таблицы как параметр фукнкции> ? С EXECUTE это не проходит :((
|
|||
|---|---|---|---|
|
#18+
проверил. В 7.3.4 работают по крайней мере две разновидности синтаксиса Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2004, 18:34 |
|
||
|
вопрос: SELECT into local_var column_name FROM <имя таблицы как параметр фукнкции> ? С EXECUTE это не проходит :((
|
|||
|---|---|---|---|
|
#18+
4321проверил. В 7.3.4 работают по крайней мере две разновидности синтаксиса Код: plaintext 1. 2. Хмм, это афаик вы батенька таблицы создаете на основе селекта, а человеку другое надо По теме - вот уже почти год мы решаем у себя эту корявость именно так как и вы придумали. Найдете правильный и красивый способ - киньте в аську 864050 - займусь рефакторингом всего проекта с удовольствием, т.к. пока самого коробит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2004, 19:33 |
|
||
|
вопрос: SELECT into local_var column_name FROM <имя таблицы как параметр фукнкции> ? С EXECUTE это не проходит :((
|
|||
|---|---|---|---|
|
#18+
centur 4321проверил. В 7.3.4 работают по крайней мере две разновидности синтаксиса Код: plaintext 1. 2. Хмм, это афаик вы батенька таблицы создаете на основе селекта, а человеку другое надо По теме - вот уже почти год мы решаем у себя эту корявость именно так как и вы придумали. Найдете правильный и красивый способ - киньте в аську 864050 - займусь рефакторингом всего проекта с удовольствием, т.к. пока самого коробит. не понял, объясните дураку, что мешает вместо Код: plaintext Код: plaintext 1. тогда разжуйте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2004, 20:18 |
|
||
|
вопрос: SELECT into local_var column_name FROM <имя таблицы как параметр фукнкции> ? С EXECUTE это не проходит :((
|
|||
|---|---|---|---|
|
#18+
Эта ссылка у меня лежит уже года три в разделе "EXECUTE SELECT INTO" http://archives.postgresql.org/pgsql-admin/2001-12/msg00067.php А все по-прежнему - EXECUTE of SELECT ... INTO is not implemented yet Только неправильно пишете EXECUTE ''select INTO qwer column1 FROM '' || table_name || '' LIMIT 1''; Нужно вот так EXECUTE ''select INTO qwer column1 FROM '' || quote_ident(table_name) || '' LIMIT 1''; Вот тогда и получаем тему для TODO..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2004, 20:02 |
|
||
|
вопрос: SELECT into local_var column_name FROM <имя таблицы как параметр фукнкции> ? С EXECUTE это не проходит :((
|
|||
|---|---|---|---|
|
#18+
Вот и я допер, что жа нужно было человику. Пробовал даже че-то наподобь: SELECT INTO vd value FROM (EXECUTE ssql) AS q ; (понятно, ша хлюпо - внешний селект не должен содержать экзекьюта - либо долже быть сам исполняться динамицки. Т.е. приходим к исходной.) Получаица, кроме FOR ... IN EXECUTE ... LOOP; или курсора задача не решаица. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 13:33 |
|
||
|
вопрос: SELECT into local_var column_name FROM <имя таблицы как параметр фукнкции> ? С EXECUTE это не проходит :((
|
|||
|---|---|---|---|
|
#18+
Может так как-то? CREATE OR REPLACE FUNCTION select_by_tabname(varchar) RETURNS setof record AS' declare row_data record; BEGIN FOR row_data IN EXECUTE ''select * FROM '' || table_name || LOOP return next row_data; END LOOP END ' LANGUAGE 'plpgsql' Дальше всю оставшуюся жизнь юзаем её: select INTO qwer column1 FROM select_by_tabname(table_name) LIMIT 1; Так как postgres только дома, грамматику и жизнеспособность проверить не могу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 14:13 |
|
||
|
вопрос: SELECT into local_var column_name FROM <имя таблицы как параметр фукнкции> ? С EXECUTE это не проходит :((
|
|||
|---|---|---|---|
|
#18+
table_name || LOOP в смысле table_name LOOP ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 14:14 |
|
||
|
вопрос: SELECT into local_var column_name FROM <имя таблицы как параметр фукнкции> ? С EXECUTE это не проходит :((
|
|||
|---|---|---|---|
|
#18+
Соседним топиком навеяло - через глобальные переменные можно чуть проще чем FOR LOOP сделать: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 03:29 |
|
||
|
вопрос: SELECT into local_var column_name FROM <имя таблицы как параметр фукнкции> ? С EXECUTE это не проходит :((
|
|||
|---|---|---|---|
|
#18+
фффф глобальные переменные... Код: plaintext 1. 2. 3. Хммм. теперь я понял, к чему это меня букварь по перлу поперло купить. Правда читать пока не перло. Кстати, как язык (plperl) ставится в случае установки из инстоллера? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 11:04 |
|
||
|
вопрос: SELECT into local_var column_name FROM <имя таблицы как параметр фукнкции> ? С EXECUTE это не проходит :((
|
|||
|---|---|---|---|
|
#18+
тока вчера установил postgresql8.0.1 на Windows XP никакого plperl там после установки нету. Самому интересно, как сделать так что б появился. Может где дока есть? -- интересно у вас тут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 11:30 |
|
||
|
вопрос: SELECT into local_var column_name FROM <имя таблицы как параметр фукнкции> ? С EXECUTE это не проходит :((
|
|||
|---|---|---|---|
|
#18+
Niemiтока вчера установил postgresql8.0.1 на Windows XP никакого plperl там после установки нету. Самому интересно, как сделать так что б появился. Может где дока есть? Возможно галочку при установке не поставил. А может инсталлятор не нашел установленный в системе перл и галку засерил. Сам перл точно установлен и в PATH прописан? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 12:58 |
|
||
|
вопрос: SELECT into local_var column_name FROM <имя таблицы как параметр фукнкции> ? С EXECUTE это не проходит :((
|
|||
|---|---|---|---|
|
#18+
да точно, было у меня такое подозрение. менюшка с допольнительными настройками проскочила. в /lib лежит plperl.dll но вот как прицепить её ручками ... тут ума не приложу при создании через createlang Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 13:14 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=32940562&tid=2007406]: |
0ms |
get settings: |
5ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
60ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 390ms |

| 0 / 0 |
