Oracle с Python - Как проверить, существует ли уже столбец?

__radd__ вызывается только в том случае, если у левого объекта нет метода __add__, или этот метод не знает, как добавить два объекта (которые он помещает, возвращая NotImplemented). Оба класса имеют метод __add__, который не возвращает NotImplemented. Поэтому метод __radd__ никогда не будет вызван.

1
задан MattSom 18 March 2019 в 02:36
поделиться

1 ответ

Я бы предложил просто создать оператор create table вместо построения таблицы и затем изменить ее, чтобы добавить в нее столбцы!

Вы можете избавиться от дубликатов в списке, используя следующий код:

listWithoutDups = list(dict.fromkeys(listWithDups))

Затем вы можете построить свое утверждение следующим образом:

columns = ['"%s" varchar2(255)' % n for n in listWithoutDups]
sql = "create table SomeTableName (%s)" % ",".join(columns)
cursor.execute(sql)

Вы заметите, что я включил двойные кавычки вокруг имен столбцов - это необходимо, если вы хотите создать столбцы которые не соответствуют стандартам Oracle (включая специальные символы, пробелы и т. д.), но имейте в виду, что это также делает имена чувствительными к регистру, и вам потребуется также указывать кавычки при выполнении любой операции над таблицей.

0
ответ дан Anthony Tuininga 18 March 2019 в 02:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: