Как мне работать с временной таблицей в postgresql с помощью Azure Data Studio?

#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, я намерен использовать «в» для автоматического создания всей структуры таблицы.