2016-03-03 3 views
0

Я новичок в базе данных sql. так любезно простите меня, если я не объясню это хорошо. Вот.таблица обновлений из представления, представленного в базе данных ms sql

У меня есть мнение в моей базе данных со следующими столбцами и данными

firstName, lastName, employee_id 
Ria, Khanna, 15 
Paul, Dcosta, 16 
Raven, Sleeaz, 25 

Я хочу, чтобы создать таблицу с этой точкой зрения и добавить дополнительные столбцы. Вот как должны выглядеть данные.

firstName, lastName, employee_id, location, roles 
Ria, Khanna, 15,delhi,admin 
Paul, Dcosta, 16, new york, developer 
Raven, Sleeaz, 25, portland, HR 

Как вы можете видеть, он принимает вид и обновления в таблице. Я хочу, чтобы firstName, lastName и employee_id были взяты из представления, и я буду обновлять местоположение и роли самостоятельно.

EDIT

пожалуйста, вы можете также выделить как добавить представление в таблицу, не затрагивая уже созданные значения местоположения и ролей. ответ, предоставленный @rgassvar, всегда будет помещать нулевые значения в местоположение и роли. и ранее добавленные значения будут потеряны. правильно?

+0

Какие СУБД вы используете? mysql <> sql server. –

+0

Независимо от того, что вы описываете, DB не имеет смысла. Представление - это просто сохраненный оператор выбора. Вы хотите иметь таблицу значений, это не обновляется автоматически или что-то в этом роде. Почему бы просто не добавить эти два новых столбца к вашему представлению? –

+0

@ SeanLange - представление создается, поскольку эти столбцы из другой базы данных. Я получаю 3 столбца оттуда и кладу свои собственные столбцы. это создаст таблицу, которую я хочу для моего проекта. – Neeva

ответ

0

Получить все, начиная с представления, а затем просто добавить два столбца как null.

SELECT *, null as location, null as roles 
INTO new_table 
FROM the_view 

Затем просто обновите поле местоположения и ролей для каждой роли по своему усмотрению.

EDIT: После первоначального создания вы можете сделать:

INSERT INTO new_table 
SELECT *, null as location, null as roles 
FROM the_view 

или

INSERT INTO new_table (firstName, lastName, employee_id) 
SELECT * 
FROM the_view 
+0

Спасибо @rgvassar. Это будет работать для создания первой таблицы. правильно ? предположим, я обновляю таблицу и снова хочу добавить столбцы представления в таблицу, не затрагивая значение местоположения и ролей, которое я вложил. – Neeva

+0

Можете ли вы также указать, как добавить представление в таблицу, не затрагивая уже созданные значения для местоположения и роли. вышеперечисленное будет по-прежнему ставить нулевые значения в местоположение и роли. и ранее добавленные значения будут потеряны. правильно ? – Neeva

+0

Первый пример не удастся, если уже есть таблица. Редактирование, где я добавил еще два примера, будет добавлять только новые строки. Конечно, два новых поля должны быть нулевыми и должны быть добавлены с помощью оператора 'ALTER TABLE', если они еще не присутствуют. – rgvassar

Смежные вопросы