2015-04-30 3 views
1

Я пытаюсь выполнить простой SQL-выбор в инструкции на таблицах teradata, и после синтаксиса я нашел here. Заявление является следующее:Объявление INTO не допускается

select * into DBNAME.account_backup from DBNAME.account; 

Когда я запускаю этот код, я получаю следующее сообщение об ошибке:

SELECT Failed. 3706: Syntax error: INTO clause is not allowed

Эти две таблицы имеют точно такой же формат (я копировали SQL, который создал первую таблицу и вставил его, чтобы создать второе, изменив только имя).

Любые идеи?

Большая благодарность

ответ

2

SELECT INTO является синтаксис SQL Server, в синтаксисе SQL Standard он используется только в хранимой процедуре, чтобы поместить результат запроса, возвращающая одну строку в переменную.

Это эквивалентно запрос в Teradata:

create table DBNAME.account_backup as DBNAME.account with data; 
+0

'создать таблицу .., как выбрать ..' также определяется в стандарте SQL –

+0

Моя первая колонка здесь является столбец идентификаторов, и я получаю ошибка «CREATE TABLE AS в настоящее время не поддерживает столбцы идентификаторов» ... google не очень помогает в этом; есть идеи? Спасибо! – Rookatu

+0

Нет обходного пути, CREATE TABLE AS не поддерживает столбцы идентификации (большинство DWH не используют IDENTITY, это, как правило, реликт портирования из других СУБД). – dnoeth

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