Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проверка существования таблицы в базе?
|
|||
|---|---|---|---|
|
#18+
Привет. Не подскажете как можно проверить есть ли таблица (например: asoup.tmp_arenda) в базе данных (например: DCAN). Что-то наподобие команды TABLEEXISTS(). Мне нужно в скрипте сперва проверить есть ли в базе данная таблица если есть то работать, если нет то создать ее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2010, 13:19 |
|
||
|
Проверка существования таблицы в базе?
|
|||
|---|---|---|---|
|
#18+
if exists ( select 1 from sysibm.systables where rtrim(creator)||'.'||rtrim(name) = 'ASOUP.TMP_ARENDA' with ur ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2010, 16:51 |
|
||
|
Проверка существования таблицы в базе?
|
|||
|---|---|---|---|
|
#18+
Wiseman_And что делает команда ... with ur? Если уже есть такая таблица в базе то я ее сперва хочу удалить а потом создать заново, Если такой таблицы нет в базе то я ее просто создаю. Правельно ли я пишу: Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 08:00 |
|
||
|
Проверка существования таблицы в базе?
|
|||
|---|---|---|---|
|
#18+
Azeke, Смысл тогда проверять наличие таблицы? Если ее обязательно нужно удалить? Что мешает в таком случае просто выполнить DROP TABLE ? Будет ненулевой код этой операции в случае если таблицы нет, или нет прав на удаление. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 10:11 |
|
||
|
Проверка существования таблицы в базе?
|
|||
|---|---|---|---|
|
#18+
Если написать просто drop, то если нет такой таблицы в базе то выходит ошибка и последующие строки команд не выполняются. Уменя есть файл load_arend.sql которая содержит: Код: plaintext 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. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. Этот файл запускаю батником через командную строку по расписанию. Если сущестует таблица то все что идет после первого drop table as.ak; не выполняется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 13:06 |
|
||
|
Проверка существования таблицы в базе?
|
|||
|---|---|---|---|
|
#18+
Azeke Если сущестует таблица то все что идет после первого drop table as.ak; не выполняется. Это влияние опции -s, которая, вообще-то, по дефолту выключена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 13:27 |
|
||
|
Проверка существования таблицы в базе?
|
|||
|---|---|---|---|
|
#18+
Вы имеете ввиду в команднике у меня нужно вмес-то: Код: plaintext 1. 2. нужно написать : Код: plaintext 1. 2. 3. то есть убрать s в команде db2? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 14:05 |
|
||
|
Проверка существования таблицы в базе?
|
|||
|---|---|---|---|
|
#18+
Примерно так. Будут выполняться все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 14:26 |
|
||
|
Проверка существования таблицы в базе?
|
|||
|---|---|---|---|
|
#18+
Да выполняется. Теперь понятно. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 14:33 |
|
||
|
Проверка существования таблицы в базе?
|
|||
|---|---|---|---|
|
#18+
Для not logged initially важно выключить автокоммит (опция -c- или, внутри скрипта, UPDATE COMMAND OPTIONS USING C OFF; ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 15:09 |
|
||
|
Проверка существования таблицы в базе?
|
|||
|---|---|---|---|
|
#18+
Дропать и создавать таблицы заново в некотором смысле вредно. А именно: системный каталог заблокирован, пока не будет выполнен commit (подразумевая, что автокоммит у вас выключен). Т.е., вы создали таблицу и, не за'commit'ив, запустили что-то длительное (вроде вставки) на пару часиков... и захотели поработать в каком-нибудь Control Center ... вместо этого будете сосать лапу, ибо не увидите список таблиц. Имеет смысл потому поставить лишний commit, или вместо пересоздания чистить таблицы (not logged initially with empty table), или пользоваться global temporary. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 15:17 |
|
||
|
|

start [/forum/topic.php?fid=43&fpage=69&tid=1602820]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 163ms |

| 0 / 0 |
