modify
This commit is contained in:
@ -32,9 +32,34 @@ def add_columns_to_table(table_name):
|
|||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
print(f"添加字段时出现错误: {e}")
|
print(f"添加字段时出现错误: {e}")
|
||||||
|
|
||||||
# 使用示例
|
def alter_chapters_table():
|
||||||
if __name__ == "__main__":
|
|
||||||
# 循环遍历 0 到 100 的数字
|
# 循环遍历 0 到 100 的数字
|
||||||
for i in range(100):
|
for i in range(100):
|
||||||
table_name = f'{tbl_name_chapters_prefix}_{i}'
|
table_name = f'{tbl_name_chapters_prefix}_{i}'
|
||||||
add_columns_to_table(table_name)
|
add_columns_to_table(table_name)
|
||||||
|
|
||||||
|
def create_finished_view():
|
||||||
|
# 生成视图创建 SQL 代码
|
||||||
|
view_sql = "CREATE VIEW view_completed_book_ids AS\n"
|
||||||
|
first_query = True
|
||||||
|
for i in range(100):
|
||||||
|
table_name = f'{tbl_name_chapters_prefix}_{i}'
|
||||||
|
# 检查表是否存在
|
||||||
|
cursor.execute(f"SELECT name FROM sqlite_master WHERE type='table' AND name='{table_name}'")
|
||||||
|
if cursor.fetchone():
|
||||||
|
if not first_query:
|
||||||
|
view_sql += "UNION ALL\n"
|
||||||
|
view_sql += f"SELECT book_id\nFROM {table_name}\nGROUP BY book_id\nHAVING SUM(CASE WHEN has_content = 1 THEN 1 ELSE 0 END) = COUNT(*)\n"
|
||||||
|
first_query = False
|
||||||
|
|
||||||
|
# 执行视图创建 SQL 代码
|
||||||
|
try:
|
||||||
|
cursor.execute(view_sql)
|
||||||
|
conn.commit()
|
||||||
|
print("视图创建成功")
|
||||||
|
except sqlite3.Error as e:
|
||||||
|
print(f"视图创建失败: {e}")
|
||||||
|
|
||||||
|
# 使用示例
|
||||||
|
if __name__ == "__main__":
|
||||||
|
create_finished_view()
|
||||||
Reference in New Issue
Block a user