MS SQL СЕРВЕР
Когда я делаю запрос
SELECT *
FROM dbo.transactions
он отлично перечисляет все строки и столбцы.
Проблема в том, что я пытаюсь создать новую таблицу с помощью CREATE TABLE.
CREATE TABLE dbo.all_transactions
SELECT *
FROM dbo.transactions
или
CREATE TABLE dbo.all_transactions AS
SELECT *
FROM dbo.transactions
Всегда получаю странную ошибку
Msg 156, Level 15, State 1, Line 2
Incorrect syntax near the keyword 'SELECT'
Рядом с SELECT есть только *. Как это может быть "Неправильный синтаксис"?
Я попытался изменить имя таблицы или использовать другую таблицу, но это не сработало. Я проверил, что имена столбцов уникальны. Они уникальны.
Интересно, может быть, вы хотите View
за это.
Вы должны следовать правильному синтаксису. Вы не можете просто написать что угодно и ожидать, что SQL Server каким-то образом поймет, что вы хотите.
Предположим, вы хотите создать таблицу all_transactions
, скопировав данные из transactions
Попробуйте это:
SELECT * INTO dbo.all_transactions
FROM dbo.transactions;
Для создания таблицы требуется синтаксис информации о столбце ref: learn.microsoft.com/en-us/sql/t-sql/statements/… для вашего удовольствия от чтения.