PostgreSQL
Нужен нормальный мануал, желательно не перевод главы с php.net хотя тоже сойдёт...
Цитата:
Originally posted by Mr.Hacker
Нужен нормальный мануал, желательно не перевод главы с php.net хотя тоже сойдёт...
Нужен нормальный мануал, желательно не перевод главы с php.net хотя тоже сойдёт...
http://www.citforum.ru/database/postgresql/
http://spslug.sposad.ru/doc/postgres/tutorial/
http://spslug.sposad.ru/doc/postgres/admin/
хватит?
а еще есть такой классный ресурс: google.com]см. здесь.
а про гугл я забыл... пробовал в яндексе - там муть всякая)
Вот есть такое:
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;
Что скажете?
Я с постгресом работаю уже 2.5 года, но к сожалению курсорами пользоваться не приходилось.
Я с постгресом работаю уже 2.5 года, но к сожалению курсорами пользоваться не приходилось.[/QUOTE]
1. Создан тип, как объявить и работать с массивом такого типа?
2. Как массив преобразовать в курсор?
Разработчики постгреса хвалятся, что он хорошо поддерживает оракловские фичи, но я что-то не могу найти там ни аналога коллекций объектов, ни того, как эти коллекции преобразовывать в курсоры.
;)