2015-10-22 3 views
1

У меня есть представление, что я хотел бы создать таблицу из запроса. Я хотел бы также добавить первичный ключ к столу, я думал, что-то вроде следующего:Создать таблицу Как выбрать и добавить индекс SQL Server 2008

SELECT * 
, PK INT IDENTITY(1,1) PRIMARY KEY 

INSERT INTO TESTTABLE 

FROM my_view 

SELECT * FROM TESTTABLE 

DROP TESTTABLE 

выше не работает, так что ...

а) возможно, б) если да, то как?

Спасибо,

+0

почему вы не добавить первичный ключ столбца в 'view' и вызвать его, когда это необходимо? –

ответ

1

Вы можете использовать SELECT INTO создать новую таблицу и ALTER его добавить PK:

SELECT * 
INTO TESTTABLE 
FROM my_view; 

ALTER TABLE TESTTABLE 
ADD PK INT IDENTITY(1,1) PRIMARY KEY; 

SELECT * 
FROM TESTTABLE; 

DROP TABLE TESTTABLE; 

SqlFiddleDemo

+0

Когда я проверяю синтаксис на этом, я получаю ошибку «Неизвестный объект» TESTTABLE, используемый в CREATE, DROP или ALTER statement', кажется, это только «DROP», который вызывает эту проблему, когда я проверяю синтаксис без него , все нормально. Есть предположения? –

+0

@MCP_infiltrator Попробуйте с частью схемы 'dbo.TESTTABLE' – lad2025

+0

отрицательный ... может быть, у меня нет разрешений таблицы DROP? –

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