ОШИБКА: столбец "EP_TEXT" указан более одного раза - PullRequest
0 голосов
/ 18 октября 2019

Я пытаюсь использовать скрипт для добавления столбца в таблицу, независимо от того, какое имя я меняю, всегда возвращается сообщение об ошибке, говорящее

Имена столбцов в каждой таблице должны быть уникальными. Имя столбца «xxx» в таблице «TEST_TABLE» указывается более одного раза.

Я случайно ввожу имя, оно все равно говорит о том, что имя указано несколько раз. но на самом деле нет, такого столбца еще не было, и столбец, наконец, также не был успешно добавлен.

кто-нибудь имел какие-либо идеи? спасибо

ниже мой запрос:

GO
if not exists(SELECT * FROM INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = 'TEST_TABLE' AND COLUMN_NAME = 'EP_TEXT')
begin 
ALTER TABLE TEST_TABLE ADD EP_TEXT [dbo].[UDDT_MAXVARCHAR] NULL
end 
GO

1 Ответ

0 голосов
/ 18 октября 2019

Проблема в том, что INFORMATION_SCHEMA.TABLE не имеет столбца COLUMN_NAME. Попробуйте это:

IF NOT EXISTS(
     SELECT * from INFORMATION_SCHEMA.TABLES t1
              INNER JOIN INFORMATION_SCHEMA.COLUMNS t2 on t1.TABLE_NAME = t2.TABLE_NAME
              where t1.TABLE_NAME = 'TEST_TABLE' and t2.COLUMN_NAME = 'EP_TEXT'
     )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...