Как обрезать таблицу в Snowflake с помощью Python?Python

Программы на Python
Ответить
Anonymous
 Как обрезать таблицу в Snowflake с помощью Python?

Сообщение Anonymous »

Я написал простую функцию Python, которая проверит, существует ли таблица в Snowflake, и если да, то обрежет ее:

Код: Выделить всё

def truncate_if_exists(self, connection_session, table_name):
"""Truncates table if it exists"""

check_query = f"""
SELECT 1
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = '{table_name}'
"""
truncate_query = f"""
TRUNCATE TABLE {table_name}
"""
exists = connection_session.execute(text(check_query)).scalar()
if exists:
connection_session.execute(text(truncate_query))
Он проверяет правильность существования таблицы и приступает к выполнению усечения. Но я получаю предупреждение:

Код: Выделить всё

UserWarning: The provided table name 'TEST_TABLE' is not found exactly as such in the database after writing the table, possibly due to case sensitivity issues. Consider using lower case table names.
Потом, когда я проверяю Snowflake, эта таблица не обрезается.
Вот как используется эта функция:

Код: Выделить всё

from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy.sql import text

conn_string = 'snowflake://{username}:{password}@{account_identifier}/{schema}/{database}?warehouse={warehouse}&role=SYSADMIN'
conn_engine = create_engine(conn_string)
conn_session = sessionmaker(bind=conn_engine)

land_table = 'TEST_TABLE'
session = conn_session()
truncate_if_exists(session, land_table)
session.close()
На листе Snowflake я могу без проблем запустить таблицу усечения с именем таблицы в верхнем или нижнем регистре.
Кто-нибудь может сообщить, почему она не усекается и передать это сообщение на Python?

Подробнее здесь: https://stackoverflow.com/questions/791 ... ing-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»