|
Создание процедур в скрипте с транзакцией
|
|||
---|---|---|---|
#18+
Здравствуйте! Я недавно стал изучать PostgreSql и у меня возникла проблема: Есть следующий фрагмент скрипта создания объектов БД: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.
Вопрос: Можно как то в PostgreSql в "транзакционном" ( присутствует BEGIN, COMMIT,ROLLBACK) скрипте создать функцию по аналогии с процедурой EXECUTE ('CREATE FUNCTION ...') MS SQL Server и вывести диагностическое сообщение по аналогии с командой PRINT 'сообщение' MS SQL Server. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 10:43 |
|
Создание процедур в скрипте с транзакцией
|
|||
---|---|---|---|
#18+
ASukhov1986, Конкретно в этом случае код на plpgsql вообще не нужен: Код: sql 1.
Что касается приведенного скрипта. Функции это отдельные объекты в базе данных и создавать их внутри блока BEGIN ... END нельзя. Для вывода сообщений используйте RAISE NOTICE, только почитайте про неё в документации как следует. Впрочем почитать можно и про всё остальное. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 11:30 |
|
Создание процедур в скрипте с транзакцией
|
|||
---|---|---|---|
#18+
Павел Лузанов, спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 11:36 |
|
Создание процедур в скрипте с транзакцией
|
|||
---|---|---|---|
#18+
Павел ЛузановASukhov1986, <> Функции это отдельные объекты в базе данных и создавать их внутри блока BEGIN ... END нельзя. Для вывода сообщений используйте RAISE NOTICE, только почитайте про неё в документации как следует. Впрочем почитать можно и про всё остальное. 1. можно. и в скл блоке. и в плпгскл блоке. и даже в pg_temp. //видимо имелось в виду "не нужно" в подавляющем числе случаев 2. прелесть в том, что после Т-скл ТС не различает скл от плскл. и вероятно пробует выполнить свой скрипт как скл-батч то, что долж но быть анонимным блоком. а в СКЛ "райз нотис" не работает. если это конечно вообще не 3-й случай -- не помню, как зовутся клиентские скрипты пжодмина. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 13:27 |
|
Создание процедур в скрипте с транзакцией
|
|||
---|---|---|---|
#18+
qwwqПавел Лузанов... Функции это отдельные объекты в базе данных и создавать их внутри блока BEGIN ... END нельзя. ... 1. можно. и в скл блоке. и в плпгскл блоке. и даже в pg_temp. Торможу, конечно можно. Оракловое прошлое не оставляет. Спасибо за поправку, и остальное всё по делу. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 14:21 |
|
|
start [/forum/topic.php?fid=53&fpage=57&tid=1995858]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 286ms |
total: | 398ms |
0 / 0 |