2014-01-27 5 views
0

Вид создается с помощью следующей SQL:SQL Server, как добавить столбец в представление

create view [dbo].[tblDimSession] AS 
    SELECT * 
    FROM OPENQUERY(CDH_DEV_BJ_LS, 'select * from Session') 

Эта точка зрения создается доступ к данным с улья.

Я хочу добавить новый столбец с именем sessionID, int тип, должен быть столбом с автоподстройкой.

Как изменить представление или добавить столбец при создании представления?

спасибо.

+0

Вы должны прочитать таблицу «ALTER» для вашей базы данных. Несвязанный: не рекомендуется выбирать звезду (*) из таблицы/вида. Это затрудняет оптимизатор, и в случае SQL Server новые столбцы в источнике не будут отображаться, несмотря на звезду, если вы явно не перекомпилируете представление. – Ralf

ответ

0

Если вы просто хотите, чтобы дополнительный столбец был просмотрен, его можно сделать во время CREATE VIEW или ALTER VIEW в вашем случае добавления столбца автоинкремента, это должно быть сделано на столе, а не просто добавлено для просмотра. Но если вы должны добавить его в представление, вы можете сделать это следующим образом.

CREATE VIEW MyView as Select *, MyExtraColumn From MyTable в отличие от ALTER TABLE вам не нужно указывать ADD или DROP заявление, изменение зрения можно сравнить больше изменения SP или таблицы функции. Чтобы добавить столбец, который автоматически приросты вы можете сделать это

ALTER VIEW MyView as SELECT *, ROW_NUMBER() OVER (ORDER BY MyUniqueColumn) AS sessionID FROM MyTable

Примечание, если вы делаете ORDER BY столбец, который не является уникальным Ваш номер может меняться каждый раз, когда вы его выполнить.

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