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

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
14.08.2001, 12:00
|
|||
|---|---|---|---|
|
|||
Создание таблицы |
|||
|
#18+
Привет всем! Имеется сформированная таблица SourceTable. Мне необходимо на ее основе создать постоянную таблицу NewTable. Т.е. создать такую же с некоторыми заранее известными дополнительными полями. Структура исходной таблицы может быть разной. Я делаю это так: 1. Взял системную sp_help, убрал все лишнее. Оставил только сведения касающиеся структуры таблицы. Сделал так что бы данные о структуре таблицы SourceTable вставлялись во временную таблицу. 2. Строю сторед процедуру которая формирует SQL строку "CREATE TABLE ..." на основе данных во временной таблице. 3. Запускаю строку на исполнение. Должна получится сторед процедура которая создает типовую таблицу NewTable на основе SourceTable. 1. Мне не нравится в этом ходе то, что используется переделанная мной sp_help! Можно как-то использовать исходную sp_help? 2. А можно обойтись без временной таблицы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.08.2001, 12:17
|
|||
|---|---|---|---|
Создание таблицы |
|||
|
#18+
>1. Мне не нравится в этом ходе то, что используется переделанная мной sp_help! Можно как-то >использовать исходную sp_help? А так может лучше ? select * from INFORMATION_SCHEMA.COLUMNS where table_name = 'mytable' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.08.2001, 12:25
|
|||
|---|---|---|---|
|
|||
Создание таблицы |
|||
|
#18+
)) посмеялись отдуши... честное слово!!! )) оказывается как все просто! а мы копались пол дня... комсомольцы... без трудностей не можем! )) Спасибо огромное! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.08.2001, 14:02
|
|||
|---|---|---|---|
Создание таблицы |
|||
|
#18+
А может так еще проще? : create table #addparttable (newfield1 int, newfield2 varchar(22)) select * into newtab from sourcetable, #addparttable where 1=2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.08.2001, 17:00
|
|||
|---|---|---|---|
|
|||
Создание таблицы |
|||
|
#18+
Уже не до смеха... а еще проще можно? (... и полез в BOL) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.08.2001, 06:30
|
|||
|---|---|---|---|
|
|||
Создание таблицы |
|||
|
#18+
А можно вообще в одну строчку: select *, cast(null as int) as 'field1', cast(null as numeric(15, ) as 'field2', cast(null as varchar(100)) as 'field3' into #tmp from sysobjects where 0 = 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.08.2001, 07:40
|
|||
|---|---|---|---|
Создание таблицы |
|||
|
#18+
Маленькое уточнение - при использовании приведенных выше примеров в новую таблицу не будут переноситься constraint-ы вроде IDENTITY и NOT NULL, а также default значение полей, и вычисляемые поля превратяться в обыкновенные. Если все эти особенности оригинальной таблицы не нужны в новой таблице, то проще и правда уже некуда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&mobile=1&tid=1825869]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 254ms |
| total: | 391ms |

| 0 / 0 |
