|
помогите с процедурой
|
|||
---|---|---|---|
#18+
ETL процесс должен удалить старые данные из некоторых таблиц. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
ошибки: psql:C:/Work/SQL/PgStoredProc.sql:4: ERROR: syntax error at or near "CREATE" LINE 1: CREATE PROCEDURE delete_staging_data() ^ psql:C:/Work/SQL/PgStoredProc.sql:7: ERROR: DECLARE CURSOR can only be used in transaction blocks psql:C:/Work/SQL/PgStoredProc.sql:10: ERROR: syntax error at or near "OPEN" LINE 2: OPEN staging_cursor; ^ psql:C:/Work/SQL/PgStoredProc.sql:13: ERROR: syntax error at or near "LOOP" LINE 1: LOOP ^ psql:C:/Work/SQL/PgStoredProc.sql:15: ERROR: syntax error at or near "EXIT" LINE 1: EXIT WHEN NOT FOUND; ^ psql:C:/Work/SQL/PgStoredProc.sql:17: ERROR: syntax error at or near "'DELETE FROM TABLE '" LINE 1: EXECUTE 'DELETE FROM TABLE ' || tableName; ^ psql:C:/Work/SQL/PgStoredProc.sql:18: WARNING: there is no transaction in progress psql:C:/Work/SQL/PgStoredProc.sql:20: ERROR: syntax error at or near "LOOP" LINE 1: END LOOP; ^ psql:C:/Work/SQL/PgStoredProc.sql:22: ERROR: cursor "staging_cursor" does not exist psql:C:/Work/SQL/PgStoredProc.sql:23: WARNING: there is no transaction in progress откуда копать? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2018, 18:13 |
|
помогите с процедурой
|
|||
---|---|---|---|
#18+
dburtsev1, Нужно попробовать так: Код: plsql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2018, 18:20 |
|
помогите с процедурой
|
|||
---|---|---|---|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
psql:C:/Work/SQL/PgStoredProc.sql:5: ERROR: syntax error at or near "CREATE" LINE 1: CREATE PROCEDURE delete_staging_data() ^ psql:C:/Work/SQL/PgStoredProc.sql:7: ERROR: syntax error at or near "staging_cursor" LINE 1: staging_cursor CURSOR FOR SELECT table_name FROM information... ^ psql:C:/Work/SQL/PgStoredProc.sql:10: ERROR: syntax error at or near "OPEN" LINE 2: OPEN staging_cursor; ^ psql:C:/Work/SQL/PgStoredProc.sql:13: ERROR: syntax error at or near "LOOP" LINE 1: LOOP ^ psql:C:/Work/SQL/PgStoredProc.sql:15: ERROR: syntax error at or near "EXIT" LINE 1: EXIT WHEN NOT FOUND; ^ psql:C:/Work/SQL/PgStoredProc.sql:17: ERROR: syntax error at or near "'DELETE FROM TABLE '" LINE 1: EXECUTE 'DELETE FROM TABLE ' || tableName; ^ psql:C:/Work/SQL/PgStoredProc.sql:18: WARNING: there is no transaction in progress psql:C:/Work/SQL/PgStoredProc.sql:20: ERROR: syntax error at or near "LOOP" LINE 1: END LOOP; ^ psql:C:/Work/SQL/PgStoredProc.sql:22: ERROR: cursor "staging_cursor" does not exist psql:C:/Work/SQL/PgStoredProc.sql:23: WARNING: there is no transaction in progress ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2018, 19:06 |
|
помогите с процедурой
|
|||
---|---|---|---|
#18+
dburtsev1ETL процесс должен удалить старые данные из некоторых таблиц. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
туда копать ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2018, 19:08 |
|
помогите с процедурой
|
|||
---|---|---|---|
#18+
Код: 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.
psql:C:/Work/SQL/PgStoredProc.sql:25: ERROR: syntax error at or near "CREATE" LINE 1: CREATE PROCEDURE delete_staging_data() ^ ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2018, 20:13 |
|
помогите с процедурой
|
|||
---|---|---|---|
#18+
dburtsev1, И пора перейти на pgAdmin версии 4, потому что https://postgrespro.ru/list/id/E1d82yj-0001U4-6w@gothos.postgresql.org]таки да . ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2018, 21:08 |
|
помогите с процедурой
|
|||
---|---|---|---|
#18+
Andy_OLAP, т.е. про psql.exe можно забыть? я пробовал использовать Aginity Workbench for Redshift: ERROR: 42601: syntax error at or near "PROCEDURE" может с кодом что то не так? буду копать pgAdmin ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2018, 21:23 |
|
помогите с процедурой
|
|||
---|---|---|---|
#18+
dburtsev1Andy_OLAP, т.е. про psql.exe можно забыть? я пробовал использовать Aginity Workbench for Redshift: ERROR: 42601: syntax error at or near "PROCEDURE" может с кодом что то не так? буду копать pgAdmin У вас проблема в файле с функцией. Там левый треш на несколько байтов в начале вот и не получается файл загрузить. Используйте нормальные текстовые редакторы vim например... :) Можете легко hex view сделать на ваш файл и увидеть. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2018, 21:26 |
|
помогите с процедурой
|
|||
---|---|---|---|
#18+
Maxim Bogukнормальные текстовые редакторы vim например... :) Это кошерная шутка, спасибо, я посмеялся :) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2018, 21:31 |
|
помогите с процедурой
|
|||
---|---|---|---|
#18+
dburtsev1, Если вы не тестируете вышедшую сегодня 11beta4, то `CREATE PROCEDURE` — нету. До 11-й версии только функции. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2018, 21:54 |
|
помогите с процедурой
|
|||
---|---|---|---|
#18+
vyegorov, Server PostgreSQL 9.6.8 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.9.3, 64-bit psql.exe 9.6.10.18234 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2018, 21:59 |
|
помогите с процедурой
|
|||
---|---|---|---|
#18+
Maxim Boguk, спасибо, я поменял кодировку при помощи notepad++ psql:C:/Work/SQL/PgStoredProc.sql:25: ERROR: syntax error at or near "PROCEDURE" LINE 1: CREATE PROCEDURE delete_staging_data() ^ ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2018, 22:04 |
|
помогите с процедурой
|
|||
---|---|---|---|
#18+
dburtsev1vyegorov, Server PostgreSQL 9.6.8 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.9.3, 64-bit psql.exe 9.6.10.18234 Замените слово PROCEDURE на FUNCTION и постепенно отвыкайте от синтаксиса T-SQL. Я то думал, у Вас 11-я, а у Вас 9-ка. Вот здесь хорошие примеры для Вашей версии. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2018, 22:12 |
|
помогите с процедурой
|
|||
---|---|---|---|
#18+
dburtsev1, Во вторник выложили 10.5.2, если таки есть желание связать с компанией Postgres Professional и потратить немного шекелей на техподдержку - лучше это сделать, если система у Вас боевая, а не тестовая. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2018, 22:16 |
|
помогите с процедурой
|
|||
---|---|---|---|
#18+
у меня Amazon Aurora. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2018, 22:56 |
|
помогите с процедурой
|
|||
---|---|---|---|
#18+
dburtsev1у меня Amazon Aurora. Хочу заметить что это не postgres а только им притворяется. И о таком имеет смысл писать с самого начала (даже о RDS который все таки куда больше на нативный postgres похож тоже надо писать в начале вопроса). ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2018, 00:41 |
|
помогите с процедурой
|
|||
---|---|---|---|
#18+
dburtsev1Andy_OLAP, т.е. про psql.exe можно забыть? я пробовал использовать Aginity Workbench for Redshift: ERROR: 42601: syntax error at or near "PROCEDURE" может с кодом что то не так? буду копать pgAdmin оно не понимает еще слова "процедура" ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2018, 13:15 |
|
помогите с процедурой
|
|||
---|---|---|---|
#18+
Maxim Boguk, Server PostgreSQL 9.6.8 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.9.3, 64-bit ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2018, 17:08 |
|
помогите с процедурой
|
|||
---|---|---|---|
#18+
dburtsev1Maxim Boguk, Server PostgreSQL 9.6.8 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.9.3, 64-bit Если у вас Aurora то это не Postgres ни внутри ни по большому делу снаружи. Точка. На заборе что угодно можно написать а по факту за ним дрова лежать будут. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2018, 18:38 |
|
помогите с процедурой
|
|||
---|---|---|---|
#18+
Maxim Boguk, вы путаете c Amazon Redshift Amazon Aurora is a hosted relational database service developed and offered by Amazon since October 2014. Aurora is available as part of the Amazon Relational Database Service (RDS). Although it is a proprietary technology, it offers MySQL compatible service since its release and PostgreSQL compatible since October 2017 The Amazon Aurora database engine is fully compatible with existing MySQL and PostgreSQL open source databases, and adds compatibility for new releases regularly. This means you can easily migrate MySQL or PostgreSQL databases to Aurora using standard MySQL or PostgreSQL import/export tools or snapshots. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2018, 22:49 |
|
помогите с процедурой
|
|||
---|---|---|---|
#18+
dburtsev1, Вы оба правы, и Вы, и Максим. Вы таки учтите, что еще в мае нужно было,после того как отработает AWS Database Migration Service, руками делать select setval(<sequence name>, <current last_val>, false) - при импорте обычных postgresql баз в Aurora PostgreSQL, сейчас все мелочи ликвидированы, совместимость с 9.6 есть, но с 10-кой совместимости по-моему нет. Возможно, я ошибаюсь. Но я это к тому, что команда postgresql может выпустить на 9-ку какой-нибудь патч, затыкающий неправильную работу, который команда Amazon у себя внедрит с опозданием. Или работа исправлена на версии 10, все Вам будут советовать установить более свежую версию, а тут выяснится, что Вы сидите в амазоне. Такие вещи, как верно заметил Максим, нужно писать в первую очередь, типа "у меня aurora postgresql 1.2, совместимая с обычной версией 9.6.8", это упрощает помощь не только Вам, но и другим участникам форума, которые прочитают Вашу проблему и подумают, что у них такая же, и предложенное решение поможет и им - а не факт. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2018, 23:38 |
|
помогите с процедурой
|
|||
---|---|---|---|
#18+
vyegorovdburtsev1, Если вы не тестируете вышедшую сегодня 11beta4, то `CREATE PROCEDURE` — нету. До 11-й версии только функции. вроде как и в 11beta 3 есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2018, 08:36 |
|
помогите с процедурой
|
|||
---|---|---|---|
#18+
Вот вы пишете что в 11 можно процедуры - у меня 11.2, а при попытке: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9.
вываливается: Код: plaintext 1. 2. 3. 4.
Пробовал из pgAdmin4, psql,pgcli Что делать? Мне нужно управление транзакциями, а оно только в процедурах, которых нет (похоже) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2019, 20:38 |
|
помогите с процедурой
|
|||
---|---|---|---|
#18+
korvaВот вы пишете что в 11 можно процедуры - у меня 11.2, а при попытке: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9.
вываливается: Код: plaintext 1. 2. 3. 4.
Пробовал из pgAdmin4, psql,pgcli Что делать? Мне нужно управление транзакциями, а оно только в процедурах, которых нет (похоже) А что у вас select version(); говорит на базе? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2019, 03:36 |
|
|
Start [/forum/topic.php?fid=53&offset=-1&startmsg=39794392&tid=1995256]: |
0ms |
get settings: |
9ms |
get forum list: |
7ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
10ms |
get topic data: |
10ms |
get forum data: |
1ms |
get page messages: |
95ms |
get tp. blocked users: |
1ms |
others: | 88ms |
total: | 223ms |
0 / 0 |