powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Procedure or Function
5 сообщений из 5, страница 1 из 1
Procedure or Function
    #33599607
Need help---
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PostgreSQL 8.1

Итак, CREATE OR REPLACE PROCEDURE
не пускает.. то есть нельзя процедуры делать? только функции?


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
CREATE OR REPLACE FUNCTION n_ad("varchar", int4)
  RETURNS void AS
'
BEGIN ;
UPDATE names SET forinsert = $1 WHERE id = $2;
UPDATE n SET fin = $1 WHERE id = $2;
COMMIT ; '
  LANGUAGE 'sql' VOLATILE;

недопустимо BEGIN внутри функции? то есть транзакции через хранимую процедуру так нельзя организовывать?
А как можно?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
CREATE OR REPLACE FUNCTION n_adUpd(int4, "varchar", int4)
  RETURNS void AS
' IF $1 = 0 THEN 
UPDATE names SET forinsert = $1 WHERE id = $2;
END IF ; 
IF $1 = 1 THEN 
INSERT INTO names..... ;
END IF ; '
  LANGUAGE 'sql' VOLATILE;

где я с ИФ-ами неверно работаю?
...
Рейтинг: 0 / 0
Procedure or Function
    #33599677
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1/ транзакции:
процедура и так выполняется в транзакции. С учетом того, что абстракция "вложенных транзакций" в постгре (видимо следом за ораклом) не работает, то и нельзя объявить транзакцию внутри транзакции. (Справочно: вместо концепции "вложенных транзакий" используется эквивалентная (на мой непросвещенный взгляд) ей, но иначе обставленная синтаксически абстракция "сейвпойнтов")

2. IF:
управляющие структуры plpgsql не работают в sql. (следите за объявленным языком ф-ии).
...
Рейтинг: 0 / 0
Procedure or Function
    #33599699
Need help---
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
огромное спасибо!!!!
...
Рейтинг: 0 / 0
Procedure or Function
    #33599774
Need help---
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
4321

2. IF:
управляющие структуры plpgsql не работают в sql. (следите за объявленным языком ф-ии).

Это как-нибудь разрешимо?
При инсталляции ставился процедурный язык для базы данных PL/PgSQL
Однако, если писать процедуру в PgAdmin 1.4.1 - доступны только Internal, C и Sql

Или же я не в том направлении копаю?
...
Рейтинг: 0 / 0
Procedure or Function
    #33599815
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поиск по форуму или по доке вас спасет. Устанавливается либо из psql одной командой, либо из SQL 2-мя.

ищите например plpgsql_call_handler
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Procedure or Function
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]