|
|
|
DROP TABLE IF EXISTS
|
|||
|---|---|---|---|
|
#18+
Всем привет В fb не силен. Задача создать файл, выполняя который таблицы будут приводится в исходное состояние. Но без DROP DATABASE. Сделал в IBEExpert экспорт метаданных (см. файл в приложении). Пытаюсь предварить его следующим: Код: 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. 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. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. Но все равно жалуется на связи и еще всякую хрень. Вроде и в порядке их расположил таком, что если вручную (чем GUI IBExpert) в этом же порядке удалять, что все проходит гладко. Триггеры, как я понимаю, автоматом вместе с таблицей должны удаляться. Так что остается только генераторы удалить. Подскажите как чудо-файлик скомпоновать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 21:11:38 |
|
||
|
DROP TABLE IF EXISTS
|
|||
|---|---|---|---|
|
#18+
Ну и портянка. Может, почитаешь про Recreate и Create or Alter для начала ? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 21:14:20 |
|
||
|
DROP TABLE IF EXISTS
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, RECREATE пробовал - не работает. Если речь идет о том, чтобы просто заменить CREATE на RECREATE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 21:16:31 |
|
||
|
DROP TABLE IF EXISTS
|
|||
|---|---|---|---|
|
#18+
Таблицы связаны он дает просто RECREATE сделать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 21:17:55 |
|
||
|
DROP TABLE IF EXISTS
|
|||
|---|---|---|---|
|
#18+
web leafбез DROP DATABASE Обоснуй. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 21:18:29 |
|
||
|
DROP TABLE IF EXISTS
|
|||
|---|---|---|---|
|
#18+
ну типа в БД могут быть другие группы таблиц со своими префиксами, которые нельзя трогать. это не каприз, это необходимость вписаться в не мною созданную архитектуру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 21:22:10 |
|
||
|
DROP TABLE IF EXISTS
|
|||
|---|---|---|---|
|
#18+
web leafтипа в БД могут быть другие группы таблиц со своими префиксами, которые нельзя трогать. Ну так не лезь в чужую БД с чужими таблицами, создай свою собственную. И с точки зрения производительности лучше будет. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 21:31:13 |
|
||
|
DROP TABLE IF EXISTS
|
|||
|---|---|---|---|
|
#18+
не подходит. вобщем, буду рад практическуому совету с примером в рамках поставленной задачи я так же не уверен что приведенный аналог DROP IF EXISTS составлен правильно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 21:39:26 |
|
||
|
DROP TABLE IF EXISTS
|
|||
|---|---|---|---|
|
#18+
web leafя так же не уверен что приведенный аналог DROP IF EXISTS составлен правильно Неправильно. Дропай безусловно, не мучайся. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 21:50:25 |
|
||
|
DROP TABLE IF EXISTS
|
|||
|---|---|---|---|
|
#18+
Подскажите лучше как правильно. "Дропай безусловно, не мучайся" не решает мою задачу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 21:59:52 |
|
||
|
DROP TABLE IF EXISTS
|
|||
|---|---|---|---|
|
#18+
я имею возможность работать в рамках приложения только с уже имеющимся подключением. я не могу дропнуть БД, к которой подключен. и сменить не могу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 22:08:20 |
|
||
|
DROP TABLE IF EXISTS
|
|||
|---|---|---|---|
|
#18+
web leafя имею возможность работать в рамках приложения только с уже имеющимся подключением. я не могу дропнуть БД Кто говорит про БД, чудак? Дропай свои таблицы не глядя. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 22:10:31 |
|
||
|
DROP TABLE IF EXISTS
|
|||
|---|---|---|---|
|
#18+
Только ошибки сыпятся, если дропать несуществующую таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 22:28:27 |
|
||
|
DROP TABLE IF EXISTS
|
|||
|---|---|---|---|
|
#18+
web leafТолько ошибки сыпятся, если дропать несуществующую таблицу. И чо? Отправляй их в /dev/null Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 22:35:16 |
|
||
|
DROP TABLE IF EXISTS
|
|||
|---|---|---|---|
|
#18+
web leafжалуется на связи и еще всякую хрень.Ниже приведен скрипт, аккуратно удаляющий ВСЕ( еще раз: ВСЕ! ) объекты в базе, за исключением UDF'ок. Он сделан для ФБ-3, для младших версий надо убрать блок удаления stored-функций (см курсор c_func). Уберите из него всё лишнее (точнее - оставьте только курсор c_tabs, но добавьте в его where-условие что-то типа списка НЕ ваших таблиц, которые нельзя трогать). Кроме того, учтите: если какие-то процедуры зависят от ваших таблиц, то этот скрипт не отработает: ведь вы не можете, как я понимаю, удалять эти процедуры. script to remove *ALL* objects in database Код: 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. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 22:52:30 |
|
||
|
DROP TABLE IF EXISTS
|
|||
|---|---|---|---|
|
#18+
Поправка. Поторопился я с реляцией об "аккуратности" скрипта. Если в базе есть view V1 с колонками F01, F02, ... , на которые ссылается view V2, то скрипт обломится на команде create or alter view V1 as select 1 id from rdb$database. Может, есть и другие варианты с аналогичной зависимостью от ХП. Тут надо будет еще покумекать, как эти самые колонки доставать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 23:08:01 |
|
||
|
DROP TABLE IF EXISTS
|
|||
|---|---|---|---|
|
#18+
ТаблоидУберите из него всё лишнее (точнее - оставьте только курсор c_tabs, но добавьте в его where-условие что-то типа списка НЕ ваших таблиц, которые нельзя трогать). Зря ты так с гранатами... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 23:11:18 |
|
||
|
DROP TABLE IF EXISTS
|
|||
|---|---|---|---|
|
#18+
Ему бесполезно объяснять. Уже раз 10 говорили, не меньше. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 23:41:10 |
|
||
|
DROP TABLE IF EXISTS
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, ТС, может, и новичек в ФБ, но не первый день с базами работает. Копию .fdb для предв. проверки сделать никто не запрещает. К тому же, я дважды сказал, что скрипт грохает все объекты. Имеющий глаза да узреет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2014, 07:18:03 |
|
||
|
DROP TABLE IF EXISTS
|
|||
|---|---|---|---|
|
#18+
Ну, обезьяне тоже можно долго объяснять, что нехорошо дергать чеку ибо ба-бах будет. И речь идёт вовсе не о ТС, тем более, что скрипт ты подарил всем, а не только ему. Но ты продолжай, продолжай, молодец. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2014, 07:34:32 |
|
||
|
DROP TABLE IF EXISTS
|
|||
|---|---|---|---|
|
#18+
ТаблоидПоправка. Поторопился я с реляцией об "аккуратности" скрипта. Ещё есть default-значения и constraints на значения полей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2014, 08:03:09 |
|
||
|
DROP TABLE IF EXISTS
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамНо ты продолжай, продолжай, молодец.я не понимаю тебя... Чел спросил, как ему грохнуть таблицы, которые он же добавил к базу. Какие-то из этих таблиц, судя по всему, связаны по FK, и ТС получает шваброй, пытаясь нарушить очередность удаления. Я ему показал скрипт, но предупредил ЗАГЛАВНЫМИ БУКВАМИ, что скрипт опасен и его надо рихтовать под себя. В частности, сказал ему про необх-сть коррекции where-условия со списком таблиц, дабы он чужие не грохнул. Что не так ? Может, вообще теперь про drop-команды никому не говорить ? А не то поломают чего... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2014, 09:10:41 |
|
||
|
DROP TABLE IF EXISTS
|
|||
|---|---|---|---|
|
#18+
Достаточно было подсказать про порядок выполнения. Если бы появились вопросы и после этого - по ситуации. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2014, 09:19:44 |
|
||
|
DROP TABLE IF EXISTS
|
|||
|---|---|---|---|
|
#18+
ТаблоидЧто не так ? Прочитай внимательнее: ТС колупается в чужой БД к которой у него есть только коннект. Бэкап он сделать технически не может. Поскольку ему вообще позволяют колупаться в БД, то следует предполагать худшее: бэкапы этой базы вообще не делаются. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2014, 12:47:04 |
|
||
|
DROP TABLE IF EXISTS
|
|||
|---|---|---|---|
|
#18+
Как обычно, развели бодягу... ТС, если в эксперте все проходит в указанном порядке, то в том же порядке должно проходить и в скрипте. Я бы посоветовал явный коммит после каждого блока делать. А еще лучше - после каждого DROP'а. Ну и озвучить текст ошибок, ежели таковые возникнут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2014, 17:02:45 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38597498&tid=1563776]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
180ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 447ms |

| 0 / 0 |
