
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
28.04.2012, 13:17
|
|||
|---|---|---|---|
|
|||
СУБД Teradata |
|||
|
#18+
Добрый день! Необходимо написать хранимую процедуру, которая будет удалять таблицы, которые удовлетворяют определенному условию. Помогите разобраться. Написал, но не работает. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.04.2012, 19:58
|
|||
|---|---|---|---|
СУБД Teradata |
|||
|
#18+
А конкретнее можно? Не работает что? В любом случае, мне кажется там цикл должен быть по курсору, он ведь не одну запись может вернуть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.05.2012, 01:13
|
|||
|---|---|---|---|
|
|||
СУБД Teradata |
|||
|
#18+
Ты забыл пробел поставить между drop table и закрывающей кавычкой. Должно быть 'drop table ', а иначе сливается. Еще я бы переписал DECLARE CURSOR, на FOR loop где open, fetch close идут не явно по умолчанию. Как-то так должно работать. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.05.2012, 07:18
|
|||
|---|---|---|---|
|
|||
СУБД Teradata |
|||
|
#18+
Выполнил ваш вариант, были некоторые ошибки, поправил их, процедура создалась! Но при вызове ее ( call removet(ABD); ABD - это DName ) выдается ошибка "The positional assignment list has too few values". Разве не только DName должно задаваться... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.05.2012, 09:33
|
|||
|---|---|---|---|
|
|||
СУБД Teradata |
|||
|
#18+
Ой, затупил что-то) надо ж так вызывать :call removet ('ABD',Ret_Code); Теперь другая проблема, вызывается без ошибок, но после выполнения не удаляет таблицы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.05.2012, 12:21
|
|||
|---|---|---|---|
|
|||
СУБД Teradata |
|||
|
#18+
Все, нашел ошибки по SQLCODE и исправил. Спасибо огромное, Павел! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.05.2012, 12:22
|
|||
|---|---|---|---|
|
|||
СУБД Teradata |
|||
|
#18+
Не знаете, можно ли задавать по умолчанию значения in - параметров? Например, с помощью set. И как можно контролировать процесс ошибок, чтобы например знать на какой таблице произошла ошибка ( к примеру, если на одну таблицу есть права на удаление-процедура ее удалит, на другую табл нет-она завершиться и выдаст return code, который будет указывать на ошибку что нет прав. но будет не понятно каких именно, на какую таблицу. Может можно создать какую-то переменную, которая будет в случае ошибки показывать на какой таблице произошла ошибка или как-то так... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.05.2012, 20:00
|
|||
|---|---|---|---|
|
|||
СУБД Teradata |
|||
|
#18+
Andrey EliseevИ как можно контролировать процесс ошибок, чтобы например знать на какой таблице произошла ошибка ( к примеру, если на одну таблицу есть права на удаление-процедура ее удалит, на другую табл нет-она завершиться и выдаст return code, который будет указывать на ошибку что нет прав. но будет не понятно каких именно, на какую таблицу. Может можно создать какую-то переменную, которая будет в случае ошибки показывать на какой таблице произошла ошибка или как-то так... Можно например сделать вторую out переменную, которая будет возвращать SQL-запрос или имя таблицы во время удаления которой завершилась процедура. Так же можно вести лог выполнения процедуры в какой-нибудь таблице. Или если у вас включено логирование, то можете поискать упавший запрос в DBC.QryLog. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.05.2012, 09:01
|
|||
|---|---|---|---|
|
|||
СУБД Teradata |
|||
|
#18+
в DBC.QryLog нужной информации нет, плюс логирование включено не для всех пользователей, выполняющих процедуру. Вариант с out переменной подходит, сам про нее думал. Видимо как-то не правильно задаю ее, потому что при выполнении она пустая. taberror - имя этой переменной. Код: sql 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=56&mobile=1&tid=2015350]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
180ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 11ms |
| total: | 284ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...