小编Teq*_*inx的帖子

从Oracle存储过程返回XML

不幸的是,我的数据库经验一直是MSSQL,它往往比Oracle更耐心.我想要做的是在tSQL中相当微不足道,然而,pl/sql让我很头疼.

我有以下程序:

    CREATE OR REPLACE PROCEDURE USPX_GetUserbyID (USERID USERS.USERID%TYPE, USERRECORD OUT XMLTYPE) AS
BEGIN

    SELECT XMLELEMENT("user"
        , XMLATTRIBUTES(u.USERID AS "userid", u.companyid as "companyid", u.usertype as "usertype", u.status as "status", u.personid as "personid")
        , XMLFOREST(  p.FIRSTNAME AS "firstname"
                    , p.LASTNAME AS "lastname"
                    , p.EMAIL AS "email"
                    , p.PHONE AS "phone"
                    , p.PHONEEXTENSION AS "extension")
        ,  XMLELEMENT("roles",
                (SELECT XMLAGG(XMLELEMENT("role", r.ROLETYPE))
                    FROM USER_ROLES r
                    WHERE r.USERID = USERID
                        AND r.ISACTIVE = 1
                )
            )
        , XMLELEMENT("watches",
                (SELECT XMLAGG(
                    XMLELEMENT("watch",
                        XMLATTRIBUTES(w.WATCHID AS "id", w.TICKETID …
Run Code Online (Sandbox Code Playgroud)

xml oracle plsql stored-procedures

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

oracle ×1

plsql ×1

stored-procedures ×1

xml ×1