t-sql语句中添加定义结果集的XML语句

在t-sql语句中添加定义结果集的XML语句,可以简化获取数据之后的处理,无需拼凑XML    

 select pui.UserName '@USERNAME',  --必须把节点的属性放在第一位
     pui.UserID 'USERID',
     pui.UserName 'EMAIL',
     pui.RoleDes 'ROLE/@ROLEDES',
     pui.RoleID 'ROLE/ROLEID',
     pui.RoleName 'ROLE/ROLENAME',
     pui.OperationType 'ROLE/OPERATION'
     from dbo.vwPortalUserIncrement pui where pui.UserID in
  (select distinct top (@pageSize) pu.UserID from dbo.tblAccountsPortalUserIncrements pu
   where pu.Status = '00' or pu.Status = '03'
   order by pu.UserID asc
  )
  FOR XML PATH('USER'),ROOT('USERROLES');

 

<USERROLES>
  <USER USERNAME="吕霞">
    <USERID>5AF252B9-02B8-4DC9-B229-033734399192</USERID>
    <EMAIL>吕霞</EMAIL>
    <ROLE ROLEDES="ERP生产系统">
      <ROLEID>14AEE7CD-22B0-42B4-8A54-932CCFE18485</ROLEID>
      <ROLENAME>Sys</ROLENAME>
      <OPERATION>03</OPERATION>
    </ROLE>
  </USER>

<USERROLES>

你可能感兴趣的:(xml,user,Path,email)