同一数据库下不同的模式有相同表名时sqlSugar.DbMaintenance.GetTableInfoList表名重复 返回

获取:

热忱回答(14)
-
fate sta VIP0
2025/7/27protected override string GetTableInfoListSql { get { var schema = GetSchema(); return @"select cast(relname as varchar) as Name, cast(obj_description(c.oid,'pg_class') as varchar) as Description from pg_class c inner join pg_namespace n on n.oid = c.relnamespace and nspname='" + schema + @"' inner join pg_tables z on z.tablename=c.relname where relkind in('p', 'r') and relname not like 'pg\_%' and relname not like 'sql\_%' and schemaname='" + schema + "' order by relname"; } }这个sql是过滤过schema了。你看看这个SQL为什么有重复
0 回复 -
Road VIP0
2025/7/27@fate sta:你这个SQL没有重复,希望官方能修复一下,官方的SQL没有过滤。
官方的SQL:
0 回复 -
fate sta VIP0
2025/7/28目前就是这个SQL查出来的,升级最新看看
0 回复 -
fate sta VIP0
2025/7/28可能是版本低
0 回复 -
Road VIP0
2025/7/28@fate sta:升级了最新版本也是没有过滤的。
0 回复 -
fate sta VIP0
2025/7/28预览版本199
0 回复 -
fate sta VIP0
2025/7/28如果预览版本还有问题,那就用源码去调试吧 。目前SQL就上是面发的
0 回复 -
Road VIP0
2025/7/28@fate sta:
0 回复 -
fate sta VIP0
2025/7/28你是人大金仓吗。。我搞错了
0 回复 -
fate sta VIP0
2025/7/28人大金仓描述清楚,你数据库是什么模式
databasemodel是什么
0 回复 -
fate sta VIP0
2025/7/28或者你把改好的SQL发我
0 回复 -
Road VIP0
2025/7/28@fate sta:oracle模式,我没有改。 还有达梦数据库也是同样的问题。达梦数据库还会获取出来多一个##HISTOGRAMS_TABLE这个表。
0 回复 -
Ramon VIP0
2025/12/12最新版本一样有这个问题,查了源码,达梦对应的 GetTableInfoListSql 查的是 user_tables (这个视图是查询当前用户所有的表) 此时如果一个账号有两个模式(
schema),两个模式有同名的表, 就会重复;但其实在连接字符串已经指定了
schema,就希望框架能够自动区分才对0 回复 -
Ramon VIP0
2025/12/12@fate sta:
最新版本一样有这个问题,查了源码,达梦对应的 GetTableInfoListSql 查的是 user_tables (这个视图是查询当前用户所有的表) 此时如果一个账号有两个模式(
schema),两个模式有同名的表, 就会重复;但其实在连接字符串已经指定了
schema,就希望框架能够自动区分才对0 回复