Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Скрипт создания таблицы, на основе существующей.  [new]
ilya_hin
Member

Откуда:
Сообщений: 33
Доброго время суток !
Помогите новичку, есть таблица. Необходимо написать скрипт который бы создавал таблицу с теме же, что в ней данными но для определенной компании. То есть таблица Table_1 в ней поля допустим Id, Name, Place и т.д с помощью скрипта создать Table_305 c Id, Name, Place. Заранее прошу прощения за вопрос просто, что то я запутался...
2 июн 16, 10:58    [19248845]     Ответить | Цитировать Сообщить модератору
 Re: Скрипт создания таблицы, на основе существующей.  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
ilya_hin,

это плохая идея. Таблица должна быть одна, но с ещё одним полем - id компании.
Это если я правильно интерпретирую 1 и 305 в именах таблиц.
Если появится новая компания, то будет достаточно использовать эту же таблицу,
просто добавляя записи с id этой новой компании, и всё.
А не создавать каждый раз новую таблицу.
2 июн 16, 11:02    [19248860]     Ответить | Цитировать Сообщить модератору
 Re: Скрипт создания таблицы, на основе существующей.  [new]
ilya_hin
Member

Откуда:
Сообщений: 33
А если в этой таблице очень много компаний и данных по ним, все равно разбивать ее для конкретной компании не стоит ?
iap
ilya_hin,

это плохая идея. Таблица должна быть одна, но с ещё одним полем - id компании.
Это если я правильно интерпретирую 1 и 305 в именах таблиц.
Если появится новая компания, то будет достаточно использовать эту же таблицу,
просто добавляя записи с id этой новой компании, и всё.
А не создавать каждый раз новую таблицу.
2 июн 16, 11:10    [19248910]     Ответить | Цитировать Сообщить модератору
 Re: Скрипт создания таблицы, на основе существующей.  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
ilya_hin,

нет конечно
2 июн 16, 11:11    [19248916]     Ответить | Цитировать Сообщить модератору
 Re: Скрипт создания таблицы, на основе существующей.  [new]
LSV
Member [заблокирован]

Откуда: Киев
Сообщений: 30817
оно (если я правильно понял вопрос) ?

SELECT ..... INTO NewTable
FROM OldTable
WHERE условия вставки
2 июн 16, 11:42    [19249098]     Ответить | Цитировать Сообщить модератору
 Re: Скрипт создания таблицы, на основе существующей.  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
LSV
оно (если я правильно понял вопрос) ?

SELECT ..... INTO NewTable
FROM OldTable
WHERE условия вставки

нет неправильно поняли :)
2 июн 16, 11:43    [19249106]     Ответить | Цитировать Сообщить модератору
 Re: Скрипт создания таблицы, на основе существующей.  [new]
ilya_hin
Member

Откуда:
Сообщений: 33
Процедуру бы ))
LSV
оно (если я правильно понял вопрос) ?

SELECT ..... INTO NewTable
FROM OldTable
WHERE условия вставки
2 июн 16, 11:47    [19249144]     Ответить | Цитировать Сообщить модератору
 Re: Скрипт создания таблицы, на основе существующей.  [new]
ilya_hin
Member

Откуда:
Сообщений: 33
Но чисто для эксперимента ))
TaPaK
ilya_hin,

нет конечно
2 июн 16, 11:48    [19249149]     Ответить | Цитировать Сообщить модератору
 Re: Скрипт создания таблицы, на основе существующей.  [new]
ilya_hin
Member

Откуда:
Сообщений: 33
А еще, есть такой вопрос, как можно уйти от такой проблемы, я хочу добавить в таблицу значение из вычисляемого столбца но возникает такая проблема как : Msg 271, Level 16, State 1, Line 46
Столбец "Geozones" изменить нельзя, поскольку он является либо вычисляемым столбцом, либо результатом оператора UNION.
Можно ли как нибудь добавить вычисляемый столбец с помощью INSERT в другую таблицу ?
ilya_hin,
2 июн 16, 22:07    [19252265]     Ответить | Цитировать Сообщить модератору
 Re: Скрипт создания таблицы, на основе существующей.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31445
ilya_hin
Можно ли как нибудь добавить вычисляемый столбец с помощью INSERT в другую таблицу ?
Эээ, в смысле, добавить значение вычисляемого столбца? Конечно, можно. Но в той, другой таблице, соответствующий столбец должен быть не вычисляемым.
2 июн 16, 22:33    [19252353]     Ответить | Цитировать Сообщить модератору
 Re: Скрипт создания таблицы, на основе существующей.  [new]
ilya_hin
Member

Откуда:
Сообщений: 33
Понял, спасибо ).
Я просто создал тоже вычисляемый столбец и добавлял в него вычисляемый, как то так.alexeyvg,
2 июн 16, 22:39    [19252378]     Ответить | Цитировать Сообщить модератору
 Re: Скрипт создания таблицы, на основе существующей.  [new]
ilya_hin
Member

Откуда:
Сообщений: 33
А какой лучше тип данных использовать ?alexeyvg,
2 июн 16, 22:40    [19252385]     Ответить | Цитировать Сообщить модератору
 Re: Скрипт создания таблицы, на основе существующей.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31445
ilya_hin
А какой лучше тип данных использовать
Который вам нужен, какой же ещё?
Если будете записывать туда значение вычисляемого столбца, то нужно посмотреть, какая там формула, и какие типы компонентов этой формулы, и уже по этому понять, какой тип выбрать.
Если нет DECIMAL, то обычно это просто.
3 июн 16, 00:17    [19252592]     Ответить | Цитировать Сообщить модератору
 Re: Скрипт создания таблицы, на основе существующей.  [new]
ilya_hin
Member

Откуда:
Сообщений: 33
Добавил спасибо, а если бы был decimal какие бы возникли проблемы ?
alexeyvg
ilya_hin
А какой лучше тип данных использовать
Который вам нужен, какой же ещё?
Если будете записывать туда значение вычисляемого столбца, то нужно посмотреть, какая там формула, и какие типы компонентов этой формулы, и уже по этому понять, какой тип выбрать.
Если нет DECIMAL, то обычно это просто.
3 июн 16, 09:07    [19252959]     Ответить | Цитировать Сообщить модератору
 Re: Скрипт создания таблицы, на основе существующей.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31445
ilya_hin
а если бы был decimal какие бы возникли проблемы ?
Тогда бы пришлось читать хелп :-)
Для типа DECIMAL не-интуитивно-понятные правила определения точности и размера типа, получаемого как результат выражения.
3 июн 16, 09:18    [19252981]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить