Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вопросы новичка PostgreSQL
|
|||
|---|---|---|---|
|
#18+
Добрый день всем! Я только начал работу с PostgreSQL, но до этого имел опыт работы с другими БД. Подскажите, пожалуйста, : 1. Есть ли в PostgreSQL аналог пакетов Oracle PL/SQL, если нет, то планируется ли его появление в ближайшее время? 2. Видел, что для последних версий Postgre есть реализованный plRuby. Есть ли вариант plRuby для Windows. И как инсталировать plRuby в Unix - системах? Заранее всем спасибо за ответы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2007, 06:54 |
|
||
|
Вопросы новичка PostgreSQL
|
|||
|---|---|---|---|
|
#18+
хрен знает что за пакеты, но аналог PL\SQL есть http://www.postgresql.org/docs/8.2/interactive/plpgsql.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2007, 08:56 |
|
||
|
Вопросы новичка PostgreSQL
|
|||
|---|---|---|---|
|
#18+
ShadyAngelхрен знает что за пакеты, но аналог PL\SQL есть http://www.postgresql.org/docs/8.2/interactive/plpgsql.htmlПакеты в Oracle - это программная единица, содержащая в себе описание и текст функций , процедур, типов и т.п. Обычно в пакет собирают взаимозависимые функции/процедуры, либо функции/процедуры направление на решение какой-то одной задачи. К примеру, пакет по загрузке данных. Может в себе содержать различные процедуры по загрузке данных, как то: загрузка данных из одной таблицы внутри СУБД - в другую, загрузка из текстового файла в таблицу, из файла ексель в таблицу. ну и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2007, 09:07 |
|
||
|
Вопросы новичка PostgreSQL
|
|||
|---|---|---|---|
|
#18+
Пакеты в Oracle - это программная единица, содержащая в себе описание и текст функций , процедур, типов и т.п. Обычно в пакет собирают взаимозависимые функции/процедуры, либо функции/процедуры направление на решение какой-то одной задачи. К примеру, пакет по загрузке данных. Может в себе содержать различные процедуры по загрузке данных, как то: загрузка данных из одной таблицы внутри СУБД - в другую, загрузка из текстового файла в таблицу, из файла ексель в таблицу. ну и т.д. Это хорошо, что Вы объяснили теорию, но Вы не ответили на вопрос, есть ли в PostgreSQL аналог пакетов Oracle? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2007, 09:37 |
|
||
|
Вопросы новичка PostgreSQL
|
|||
|---|---|---|---|
|
#18+
Dmitry ZhukovЭто хорошо, что Вы объяснили теорию, но Вы не ответили на вопрос, есть ли в PostgreSQL аналог пакетов Oracle?Ответ мой, если что, был адресован ShadyAngel, а не тебе. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2007, 09:42 |
|
||
|
Вопросы новичка PostgreSQL
|
|||
|---|---|---|---|
|
#18+
2 Автор. Вот чего написано в доке по PostgreSQL : PostgreSQL: Documentation: Manuals: PostgreeSQL 8.237.11. Porting from Oracle PL/SQL This section explains differences between PostgreSQL's PL/pgSQL language and Oracle's PL/SQL language, to help developers who port applications from Oracle® to PostgreSQL. PL/pgSQL is similar to PL/SQL in many aspects. It is a block-structured, imperative language, and all variables have to be declared. Assignments, loops, conditionals are similar. The main differences you should keep in mind when porting from PL/SQL to PL/pgSQL are: There are no default values for parameters in PostgreSQL. You can overload function names in PostgreSQL. This is often used to work around the lack of default parameters. You cannot use parameter names that are the same as columns that are referenced in the function. Oracle allows you to do this if you qualify the parameter name using function_name.parameter_name. In PL/pgSQL, you can instead avoid a conflict by qualifying the column or table name. No need for cursors in PL/pgSQL, just put the query in the FOR statement. (See Example 37-6.) In PostgreSQL the function body must be written as a string literal. Therefore you need to use dollar quoting or escape single quotes in the function body. See Section 37.2.1. Instead of packages, use schemas to organize your functions into groups. Since there are no packages, there are no package-level variables either. This is somewhat annoying. You can keep per-session state in temporary tables instead. IMHO, вполне однозначно отвечает на твой вопрос... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2007, 09:55 |
|
||
|
Вопросы новичка PostgreSQL
|
|||
|---|---|---|---|
|
#18+
Насколько я понимаю, схемы (нечто вроде namespace-ов) "не дотягивают" до оракловых пакетов только одним -- нет поддержки хранимых переменных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2007, 10:48 |
|
||
|
Вопросы новичка PostgreSQL
|
|||
|---|---|---|---|
|
#18+
akieНасколько я понимаю, схемы (нечто вроде namespace-ов) "не дотягивают" до оракловых пакетов только одним -- нет поддержки хранимых переменных. Не совсем. Получается, что в одной БД может храниться только один пакет с именем. И в принципе в оракле и постгресе несколько разная иерархия объектов. То, что в оракле назывется схемой -в постгресе назывется базой. Со всеми вытекающими из этого последствиями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2007, 12:55 |
|
||
|
Вопросы новичка PostgreSQL
|
|||
|---|---|---|---|
|
#18+
Имхо схема это схема, что в пг, что в оракле. Разница только в подходе и умолчаниях. В оракле схема является фактически синонимом пользователя, в пг схема создается вручную. В оракле можно объединять хп в пакеты, в пг что бы объединить хп можно использовать схемы. что оракл (один instance - одна база), что пг не умеют межбазовые запросы вида select * from db1.schema1.tab1 (аля mysql), для этого нужно использовать dblink'и, в оракле хп по-умолчанию создается с security definer в пг с security invoker. вобщем в доках вполне подробно написано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2007, 14:01 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=34314764&tid=2005728]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 263ms |
| total: | 400ms |

| 0 / 0 |
