#sql #postgresql #azure-data-studio
Вопрос:
Я использую базу данных Postgresql в Azure, но когда я использую временную таблицу, возникает ошибка, указывающая, что это запрещено.
Примером кода является:
select * into temptable from act_hi_taskinst
И ошибка в том, что:
SELECT ... INTO is not allowed here
Я также попытался, как сообщалось по ссылке https://www.postgresqltutorial.com/postgresql-select-into, но у меня все та же ошибка.
У кого-нибудь есть идея, как это решить? Спасибо
Ответ №1:
Если вы используете Postgres, то эквивалентом Postgres является CREATE TABLE AS
:
create table temptable as
select *
from act_hi_taskinst;
Комментарии:
1. Именно то, что мне было нужно. Спасибо
Ответ №2:
Здесь — INTO Concept Example
Insert into temptable
select * from act_hi_taskinst;
Ответ №3:
ВЫБЕРИТЕ В с помощью SQL Azure SQL Azure требует, чтобы все таблицы имели кластеризованные индексы, поэтому инструкции SELECT INTO, которые создают таблицу и не поддерживают создание кластеризованных индексов. Если вы планируете перейти на SQL Azure, вам необходимо изменить код, чтобы использовать создание таблиц вместо инструкции SELECT INTO. Это относится как к временным таблицам (где кластеризованные индексы не требуются), так и к постоянным таблицам.
https://azure.microsoft.com/en-au/blog/select-into-with-sql-azure/
Чтобы обойти это, вам нужно создать целевую таблицу, а затем вызвать INSERT INTO. Вот пример:
CREATE TABLE #Destination (Id int NOT NULL, [Name]
Комментарии:
1. Здравствуйте @Lenroy Yeung, я намерен использовать «в» для автоматического создания всей структуры таблицы.