【发布时间】:2019-01-07 08:48:03
【问题描述】:
我正在尝试复制在 Oracle 数据库上工作的一段 sql 代码,以便在 SQL Server 中也能工作。基本上,我需要从多个表中选择某些列(定义)到一个表中——它就像一个只有可变数量表的联合。表的确切名称在 Oracle 中没有定义,我使用 user_tables like '%ABC%' 来获取所有表的列表,并使用 dbms_xmlgen.getxmltype 来执行创建的 select 语句。
在 Oracle 中,我有以下正在运行的代码...
select table_name,
dbms_xmlgen.getxmltype('select id,name from '|| table_name).extract('/*') rec
from user_tables
where table_name like '%ABC%';
我知道我可以创建一个变量并将其执行到表中,但我需要它是一个 SELECT 语句,就像 oracle 一样。在 SQL Server 中可以实现类似的功能吗?
更新:我想要通用 SQL 语句的“执行”结果 => 输出有两列,table_name 作为第一列,第二列 (REC) 包含每个表的选择结果的 XML 块。
【问题讨论】:
-
示例 XML 和预期结果会很好。
标签: sql-server xml oracle