Как получить первичный ключ таблицы в гипербазе данных? ⇐ Python
-
Anonymous
Как получить первичный ключ таблицы в гипербазе данных?
С помощью Python я хотел бы извлечь столбец или столбцы таблицы в гипербазе данных, которые указаны в качестве первичного ключа, если таблица вообще имеет первичный ключ.
Это запрос, который я пробовал, и это именно то, что предлагает ChatGPT. К сожалению, я получаю HyperException о том, что схема «информационная_схема» не существует. 'input_hyper_path' — это путь к основному файлу данных базы данных Hyper.
импортировать библиотеку путей импорт таблицыгиперапи с HyperProcess(telemetry=Telemetry.DO_NOT_SEND_USAGE_DATA_TO_TABLEAU) как гипер: с Connection(endpoint=hyper.endpoint, data=input_hyper_path) в качестве соединения: для схемы в Connection.catalog.get_schema_names(): if str(schema.name) == '"Извлечь"': table_names = Connection.catalog.get_table_names(схема=схема) для таблицы в table_names: с соединением.execute_query(f"SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME = '{table}' AND CONSTRAINT_NAME = 'PRIMARY_KEY'") в качестве результата: строки = список (результат) для строки в строках: печать (строка)
С помощью Python я хотел бы извлечь столбец или столбцы таблицы в гипербазе данных, которые указаны в качестве первичного ключа, если таблица вообще имеет первичный ключ.
Это запрос, который я пробовал, и это именно то, что предлагает ChatGPT. К сожалению, я получаю HyperException о том, что схема «информационная_схема» не существует. 'input_hyper_path' — это путь к основному файлу данных базы данных Hyper.
импортировать библиотеку путей импорт таблицыгиперапи с HyperProcess(telemetry=Telemetry.DO_NOT_SEND_USAGE_DATA_TO_TABLEAU) как гипер: с Connection(endpoint=hyper.endpoint, data=input_hyper_path) в качестве соединения: для схемы в Connection.catalog.get_schema_names(): if str(schema.name) == '"Извлечь"': table_names = Connection.catalog.get_table_names(схема=схема) для таблицы в table_names: с соединением.execute_query(f"SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME = '{table}' AND CONSTRAINT_NAME = 'PRIMARY_KEY'") в качестве результата: строки = список (результат) для строки в строках: печать (строка)