Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Объекты, коллекции (массивы), курсоры...
|
|||
|---|---|---|---|
|
#18+
А у меня вот вопрос. Я только на этой неделе столкнулся с постгресом, а заклинание "rtfm" не помогает, поэтому спрашиваю сюда. Вот есть такое: 1 CREATE OR REPLACE FUNCTION register.tst(OUT cur refcursor) AS 2 $BODY$declare 3 v register.tmp_; 4 begin 5 v[1] := (2,'qwe'); 6 v[1] := (13,'zxc'); 7 open cur for select * from cast(v as register.tmp); 8 end;$BODY$ 9 LANGUAGE 'plpgsql' VOLATILE; Знаю, что неправильно всё, но как правильно, нигде не найду. Чего хочу? Короче, создал тип: CREATE TYPE register.tmp AS (id numeric, name numeric(128)); А the fucking manual, который я должен read, говорит, что "When you define a new base type, PostgreSQL automatically provides support for arrays of that type. For historical reasons, the array type has the same name as the base type with the underscore character (_) prepended." Врёт, мне компилятор на строку 3 ругается, что нет такого типа. Далее, в строках 5 и 6 я пытаюсь присвоить элементам массива значения. Разумеется, это я выдумал сам, ибо в the fucking manual, который я должен read, вообще нет объяснения, как с этими массивами и прочими внутренними переменными работать. Ну а в строке 7 я просто хочу из массива сделать полноценный курсор. Может быть то, что я хочу, невозможно в принципе? Может быть, мне надо сразу всё делать через ж... анус? Вот так, к примеру: CREATE OR REPLACE FUNCTION register.tst(OUT cur refcursor) AS $BODY$ begin delete from tbl.tmp; insert into tbl.tmp values (2,'qwe'); insert into tbl.tmp values (13,'zxc'); open cur for select * from tbl.tmp; end;$BODY$ LANGUAGE 'plpgsql' VOLATILE; Что скажете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 12:37 |
|
||
|
Объекты, коллекции (массивы), курсоры...
|
|||
|---|---|---|---|
|
#18+
1) более уважительное отношение к уважаемому в данном месте (и вообще в мире) продукту, с которым вы изволили столкнуться на этой неделе 2) используйте тэг SRC и форматирование 3) что вы собственно хотите ? сформулируйте четко вопросы, а он тут не один ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 13:16 |
|
||
|
Объекты, коллекции (массивы), курсоры...
|
|||
|---|---|---|---|
|
#18+
prepend = присоединять спереди а у вас register.tmp_ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 14:26 |
|
||
|
Объекты, коллекции (массивы), курсоры...
|
|||
|---|---|---|---|
|
#18+
ну нет такой фичи как массивы для составныхтипов(composite: CREATE TYPE ... AS) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 15:09 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=34119110&tid=2005967]: |
0ms |
get settings: |
5ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
133ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 432ms |

| 0 / 0 |
