|
|
|
?create table t1 as select * from t2 where 1=2
|
|||
|---|---|---|---|
|
#18+
возможно ли реализовать чтото подобное? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2006, 18:02 |
|
||
|
?create table t1 as select * from t2 where 1=2
|
|||
|---|---|---|---|
|
#18+
Dimka08возможно ли реализовать чтото подобное? нужна именно постоянная таблица? Если нет, то для временной Код: plaintext 1) Что-то для получения скрипта существующей таблицы - dbschema, eSQLEditor, SQL Explorer, свой скрипт/ХП по сиситемнім таблицам :) 2) Что-то для запуска этого скрипта - dbaccess, eSQLEditor, SQL Explorer, своя программа :) 3) Извраты через Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2006, 19:04 |
|
||
|
?create table t1 as select * from t2 where 1=2
|
|||
|---|---|---|---|
|
#18+
Dimka08возможно ли реализовать чтото подобное? Почему не create view t1 as select * from t2 where 1=2 и вообще, опишите проблему подробнее!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2006, 08:43 |
|
||
|
?create table t1 as select * from t2 where 1=2
|
|||
|---|---|---|---|
|
#18+
Подозреваю, что человеку просто нужно сделать дубликат таблицы (сотворить ещё одну таблицу, которая будет иметь тот же состав полей и поля будут иметь тот тип данных, что и в исходной таблице). Сдается мне, товарищ пришел из Oracle. Там такое работает на ура... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2006, 09:43 |
|
||
|
?create table t1 as select * from t2 where 1=2
|
|||
|---|---|---|---|
|
#18+
Владимор КоневПодозреваю, что человеку просто нужно сделать дубликат таблицы (сотворить ещё одну таблицу, которая будет иметь тот же состав полей и поля будут иметь тот тип данных, что и в исходной таблице). Сдается мне, товарищ пришел из Oracle. Там такое работает на ура...Мой предыдущей ответ в большей степени адресовался Зефсу, чем автору топика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2006, 09:44 |
|
||
|
?create table t1 as select * from t2 where 1=2
|
|||
|---|---|---|---|
|
#18+
Владимор КоневПодозреваю, что человеку просто нужно сделать дубликат таблицы (сотворить ещё одну таблицу, которая будет иметь тот же состав полей и поля будут иметь тот тип данных, что и в исходной таблице). Сдается мне, товарищ пришел из Oracle. Там такое работает на ура... сокращенный дубликат +одно вычисляемое поле нужна нормальная таблица не темповая и не вью ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2006, 09:52 |
|
||
|
?create table t1 as select * from t2 where 1=2
|
|||
|---|---|---|---|
|
#18+
Не пойму зачем это надо. Явная попытка решить задачу через ж.... Сомневаюсь, что это регулярная операция, требующая автоматизациия и предназначеня для выполнения юзерами. Самый простой способ для выполнения администратором, если в таблице много полей: 1. dbschema -d database -t t2 oldtable.sql 2. Добавляем новое поле в oldtable.sql и создаем новую таблицу. 3. Переносим записи из t2 в новую таблицу. В зависимости от количества записей разными способами, дабы не упереться в Long Transaction. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2006, 12:28 |
|
||
|
?create table t1 as select * from t2 where 1=2
|
|||
|---|---|---|---|
|
#18+
DaugavaНе пойму зачем это надо. Явная попытка решить задачу через ж.... Сомневаюсь, что это регулярная операция, требующая автоматизациия и предназначеня для выполнения юзерами. Самый простой способ для выполнения администратором, если в таблице много полей: 1. dbschema -d database -t t2 oldtable.sql 2. Добавляем новое поле в oldtable.sql и создаем новую таблицу. 3. Переносим записи из t2 в новую таблицу. В зависимости от количества записей разными способами, дабы не упереться в Long Transaction. напрмер есть 100 таблиц надо создать 100 аналогичных но без некоторых полей + если есть определенное поле то его надо заменить на другое + во все таблицы добавить поле конечно можно все перенести и вручную ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2006, 12:51 |
|
||
|
?create table t1 as select * from t2 where 1=2
|
|||
|---|---|---|---|
|
#18+
Daugava3. Переносим записи из t2 в новую таблицу. В зависимости от количества записей разными способами, дабы не упереться в Long Transaction. и еще вопрос если надо перенести например 100-500к записей из одной таблицы в другую как это лучще сделать одним инсертом или в цикле ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2006, 12:53 |
|
||
|
?create table t1 as select * from t2 where 1=2
|
|||
|---|---|---|---|
|
#18+
Еще раз, раскажите мне задачу, в которой хотя бы ежедневно требуется из 100 таблиц создавать 100 аналогичных без нескольких полей. Реализуемо сие через dbschema - парсинг скриптом. Можно также реализовать и на SQL (но это значительно более геморройно, если не найти готовых экзампл, собирающий по системным таблицам структуру), который потом выполнить через DATABLADE. На счет как закачивать, тоже вопрос. Все зависит от вашей системы, для кого-то 1000 записей много, для кого-то ежеминутные закачки по 10000 в порядке вещей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2006, 17:08 |
|
||
|
?create table t1 as select * from t2 where 1=2
|
|||
|---|---|---|---|
|
#18+
Dimka08 DaugavaНе пойму зачем это надо. Явная попытка решить задачу через ж.... Сомневаюсь, что это регулярная операция, требующая автоматизациия и предназначеня для выполнения юзерами. Самый простой способ для выполнения администратором, если в таблице много полей: 1. dbschema -d database -t t2 oldtable.sql 2. Добавляем новое поле в oldtable.sql и создаем новую таблицу. 3. Переносим записи из t2 в новую таблицу. В зависимости от количества записей разными способами, дабы не упереться в Long Transaction. напрмер есть 100 таблиц надо создать 100 аналогичных но без некоторых полей + если есть определенное поле то его надо заменить на другое + во все таблицы добавить поле Убедились, что операция разовая :) Для удобства работы и автодокументирования существуют замечательные CASE-средства "типа ERwin", с возможностью реинжиниринга и модификации схемы. Или использовать уже предложенный вариант работы с чистым SQL-скриптом, формируемым утилитой dbschema и тривиальной операцией "поиск-замена". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2006, 17:16 |
|
||
|
?create table t1 as select * from t2 where 1=2
|
|||
|---|---|---|---|
|
#18+
Dimka08 Daugava3. Переносим записи из t2 в новую таблицу. В зависимости от количества записей разными способами, дабы не упереться в Long Transaction. и еще вопрос если надо перенести например 100-500к записей из одной таблицы в другую как это лучще сделать одним инсертом или в цикле Если уже упомянутое понятие Long Transaction для вас незнакомо, то в цикле с транзакциями (т.е. блок записей - коммит транзакции). Если знаете, как расширить размер логических журналов до нужного размера - можно одним инсертом. Можно почитать FAQ http://www.sql.ru/faq/faq.aspx?id=585 (первые два вопроса) на тему специализированных средств и способов по миграции больших объемов данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2006, 17:21 |
|
||
|
|

start [/forum/topic.php?fid=44&fpage=52&tid=1608742]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
7ms |
get forum data: |
3ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 345ms |

| 0 / 0 |
