diff --git a/backend/sql/03_user.sql b/backend/sql/03_user.sql index 099caa7..cb4e9c0 100644 --- a/backend/sql/03_user.sql +++ b/backend/sql/03_user.sql @@ -69,6 +69,12 @@ BEGIN WHERE table_name = 'user_info_view' ) INTO view_exists; + -- 若视图存在,先删除(避免字段名冲突) + IF view_exists THEN + DROP VIEW user_info_view; + RAISE NOTICE '已删除旧视图 user_info_view'; + END IF; + -- 创建或更新视图 CREATE OR REPLACE VIEW user_info_view AS SELECT @@ -85,9 +91,9 @@ BEGIN WHERE u.deleted = FALSE; - -- 根据视图是否已存在输出不同提示 +-- 根据视图是否已存在输出不同提示 IF view_exists THEN - RAISE NOTICE '视图 user_info_view 已更新'; + RAISE NOTICE '视图 user_info_view 已更新(删除旧视图后重建)'; ELSE RAISE NOTICE '视图 user_info_view 已创建'; END IF; diff --git a/backend/sql/04_country.sql b/backend/sql/04_country.sql index 402fd82..52e0bc5 100644 --- a/backend/sql/04_country.sql +++ b/backend/sql/04_country.sql @@ -69,6 +69,12 @@ BEGIN WHERE table_name = 'country_info_view' ) INTO view_exists; + -- 若视图存在,先删除(避免字段名冲突) + IF view_exists THEN + DROP VIEW country_info_view; + RAISE NOTICE '已删除旧视图 country_info_view'; + END IF; + -- 创建或更新视图 CREATE OR REPLACE VIEW country_info_view AS SELECT @@ -87,7 +93,7 @@ BEGIN -- 根据视图是否已存在输出不同提示 IF view_exists THEN - RAISE NOTICE '视图 country_info_view 已更新'; + RAISE NOTICE '视图 country_info_view 已更新(删除旧视图后重建)'; ELSE RAISE NOTICE '视图 country_info_view 已创建'; END IF; diff --git a/backend/sql/06_currency.sql b/backend/sql/06_currency.sql index 64bda0b..2ec7aac 100644 --- a/backend/sql/06_currency.sql +++ b/backend/sql/06_currency.sql @@ -69,6 +69,12 @@ BEGIN WHERE table_name = 'currency_info_view' ) INTO view_exists; + -- 若视图存在,先删除(避免字段名冲突) + IF view_exists THEN + DROP VIEW currency_info_view; + RAISE NOTICE '已删除旧视图 currency_info_view'; + END IF; + -- 创建或更新视图 CREATE OR REPLACE VIEW currency_info_view AS SELECT @@ -87,11 +93,11 @@ BEGIN -- 根据视图是否已存在输出不同提示 IF view_exists THEN - RAISE NOTICE '视图 currency_info_view 已更新'; + RAISE NOTICE '视图 currency_info_view 已更新(删除旧视图后重建)'; ELSE RAISE NOTICE '视图 currency_info_view 已创建'; END IF; EXCEPTION WHEN OTHERS THEN RAISE NOTICE '处理视图时发生错误: %', SQLERRM; -END $$; +END $$; \ No newline at end of file