我有一个 Table Student,我有一个 XML 作为输入
inputXML=
<Students><student><id>1</id><Name>SAM</Name></student>
<student><id>1</id><Name>RAM</Name><Phone>123</Phone></student></Students>
我试过下面的代码
Insert into Student (id,Name,Phone)
select * from unnest(
unnest('Students/student/id/text()',inputXML)::text[]::int[],
unnest('Students/student/Name/text()',inputXML)::text[],
unnest('Students/student/Phone/text()',inputXML)::text[]
) as T(id,Name,Phone);
但我的桌子看起来像
ID | 姓名 | 电话 |
---|---|---|
1个 | 萨姆 | 123 |
2个 | 内存 | 无效的 |
我需要我的表格如下所示
ID | 姓名 | 电话 |
---|---|---|
1个 | 萨姆 | 无效的 |
2个 | 内存 | 123 |
请建议保留该行中的数据我为此使用 postgres 14.6
这通常更容易使用
xmltable()