mirror of
				https://github.com/nsnail/FreeSql.git
				synced 2025-11-04 17:20:49 +08:00 
			
		
		
		
	- 增加 Oracle DbFirst 视图的支持;
This commit is contained in:
		@@ -216,14 +216,27 @@ namespace FreeSql.Odbc.Oracle
 | 
			
		||||
            var databaseIn = string.Join(",", database.Select(a => _commonUtils.FormatSql("{0}", a)));
 | 
			
		||||
            var sql = $@"
 | 
			
		||||
select
 | 
			
		||||
a.owner || '.' || a.table_name,
 | 
			
		||||
a.owner || '.' || a.table_name AS tbname,
 | 
			
		||||
a.owner,
 | 
			
		||||
a.table_name,
 | 
			
		||||
b.comments,
 | 
			
		||||
'TABLE'
 | 
			
		||||
'TABLE' AS tp
 | 
			
		||||
from all_tables a
 | 
			
		||||
left join all_tab_comments b on b.owner = a.owner and b.table_name = a.table_name and b.table_type = 'TABLE'
 | 
			
		||||
where {(ignoreCase ? "lower(a.owner)" : "a.owner")} in ({databaseIn}){(tbname == null ? "" : $" and {(ignoreCase ? "lower(a.table_name)" : "a.table_name")}={_commonUtils.FormatSql("{0}", tbname[1])}")}";
 | 
			
		||||
where {(ignoreCase ? "lower(a.owner)" : "a.owner")} in ({databaseIn}){(tbname == null ? "" : $" and {(ignoreCase ? "lower(a.table_name)" : "a.table_name")}={_commonUtils.FormatSql("{0}", tbname[1])}")}
 | 
			
		||||
 | 
			
		||||
UNION ALL
 | 
			
		||||
 | 
			
		||||
select
 | 
			
		||||
a.owner || '.' || a.view_name,
 | 
			
		||||
a.owner,
 | 
			
		||||
a.view_name,
 | 
			
		||||
b.comments,
 | 
			
		||||
'VIEW' AS tp
 | 
			
		||||
from all_views a
 | 
			
		||||
left join all_tab_comments b on b.owner = a.owner and b.table_name = a.view_name and b.table_type = 'VIEW'
 | 
			
		||||
where {(ignoreCase ? "lower(a.owner)" : "a.owner")} in ({databaseIn}){(tbname == null ? "" : $" and {(ignoreCase ? "lower(a.view_name)" : "a.view_name")}={_commonUtils.FormatSql("{0}", tbname[1])}")}
 | 
			
		||||
";
 | 
			
		||||
            var ds = _orm.Ado.ExecuteArray(CommandType.Text, sql);
 | 
			
		||||
            if (ds == null) return loc1;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user