def METHOD_NAME(cls, table_chain: Sequence[TTableSchema], sql_client: SqlClientBase[Any]) -> List[str]:
    sql: List[str] = []
    for table in table_chain:
        with sql_client.with_staging_dataset(staging=True):
            staging_table_name = sql_client.make_qualified_table_name(table["name"])
        table_name = sql_client.make_qualified_table_name(table["name"])
        # drop destination table
        sql.append(f"DROP TABLE IF EXISTS {table_name};")
        # moving staging table to destination schema
        sql.append(f"ALTER TABLE {staging_table_name} SET SCHEMA {sql_client.fully_qualified_dataset_name()};")
        # recreate staging table
        sql.append(f"CREATE TABLE {staging_table_name} (like {table_name} including all);")
    return sql