Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Можно ли сделать повторно-выполняемый скрипт?
|
|||
|---|---|---|---|
|
#18+
Задача выглядит так: есть приложение на c#, которое читает файлы-скрипты с диска и выполняет их на сервере. В SQL Server есть возможность написать скрипт, который можно несколько раз подряд запустить и быть уверенным, что он выполнится правильно, сделает действие один раз и т.д. То есть проверить какие-то услови, проверить версию сервера, базы if () begin insert .. delete .. end и т.д. Как сделать так же в скиптах для PostgreSQL? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2016, 11:22 |
|
||
|
Можно ли сделать повторно-выполняемый скрипт?
|
|||
|---|---|---|---|
|
#18+
первое что приходит на ум: Код: sql 1. 2. 3. 4. 5. 6. 7. работает как одна транзакция, если где то даст ошибку то не сработает ничего returns добавил для того что бы можно было использовать результаты можно использовать результаты вставки или удаленные строки для последующей вставки (например удалили строки из a4 и вставили их в a5 причем в рамках одной тразакции) есть особенность: мы на шаге a2 вставили новые строки, на шаге 3 - удаляем из а2, но при этом не увидим новые строки, так что они останутся все равно, даже если удовлетворяли условиям удаления ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2016, 11:44 |
|
||
|
Можно ли сделать повторно-выполняемый скрипт?
|
|||
|---|---|---|---|
|
#18+
немного исправил Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2016, 11:47 |
|
||
|
Можно ли сделать повторно-выполняемый скрипт?
|
|||
|---|---|---|---|
|
#18+
не вижу как я могу использовать условие, например надуманный скрипт T-SQL: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2016, 12:00 |
|
||
|
Можно ли сделать повторно-выполняемый скрипт?
|
|||
|---|---|---|---|
|
#18+
Похоже, лучшее решение - это анонимные функции Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2016, 12:30 |
|
||
|
Можно ли сделать повторно-выполняемый скрипт?
|
|||
|---|---|---|---|
|
#18+
примерно так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2016, 12:32 |
|
||
|
Можно ли сделать повторно-выполняемый скрипт?
|
|||
|---|---|---|---|
|
#18+
Ролг Хупин, Аналог SQL-серверных скриптов — анонимные блоки или функции. Если нужно что-то вернут по результатам работы, то только функции. Если есть возможность написать на чистом SQL, то так будет лучше для производительности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2016, 19:37 |
|
||
|
Можно ли сделать повторно-выполняемый скрипт?
|
|||
|---|---|---|---|
|
#18+
vyegorovРолг Хупин, Аналог SQL-серверных скриптов — анонимные блоки или функции. Если нужно что-то вернут по результатам работы, то только функции. Если есть возможность написать на чистом SQL, то так будет лучше для производительности. Да, спасибо, понял, значит анонимные функции - правильный путь, если это нужно. А в чем разница между анонимным блоком и функцией - только возвращаемое значение или его отсутствие? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 10:52 |
|
||
|
Можно ли сделать повторно-выполняемый скрипт?
|
|||
|---|---|---|---|
|
#18+
Ролг Хупин, Кстати для многих типов объектов при их создании/удалении можно проверять наличие объекта. Например: Код: sql 1. 2. 3. Зачастую этого может быть достаточно без процедурного кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 11:11 |
|
||
|
Можно ли сделать повторно-выполняемый скрипт?
|
|||
|---|---|---|---|
|
#18+
Ролг ХупинА в чем разница между анонимным блоком и функцией - только возвращаемое значение или его отсутствие? Да. Раньше, чтобы выполнить разовый кусок кода, приходилось делать функцию и потом её дропать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 13:27 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=88&tid=1997095]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
52ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 162ms |

| 0 / 0 |
