【问题标题】:oracle plsql select all column (single row) and return as json [duplicate]oracle plsql选择所有列(单行)并以json形式返回[重复]
【发布时间】:2016-08-03 14:00:04
【问题描述】:

我有一个简单的表(不是严格的 JSON)。我想编写一个简单的函数,它以员工 id 作为参数,并从表中返回与 id 匹配的所有列。我的功能:

CREATE OR REPLACE PACKAGE BODY PKG_TEST AS

FUNCTION SEARCH_JOINING_INFO(EMP_ID VARCHAR2) RETURN CLOB IS
    RET TBL_EMP_BASIC_PROFILE%ROWTYPE;
BEGIN
    SELECT * INTO RET FROM TBL_EMP_BASIC_PROFILE WHERE TBL_EMP_BASIC_PROFILE.EMP_ID=EMP_ID;
    --RETURN RET.GETCLOBVAL();
END;

END PKG_TEST;

这显然根本行不通。我想选择一行(所有列)并将其作为 json 格式的字符串返回。例如,'{"EMP_ID" : "1234", "EMP_NAME" : "ABC"}' 像这样。但我不知道怎么做。此外,我想使用 ' SELECT * ' 格式,因为有时我可能需要添加新列。我该怎么做?有什么办法吗? 我的表说明:

Name                 Null     Type          
-------------------- -------- ------------- 
EMP_ID               NOT NULL VARCHAR2(13)  
EMP_NAME                      VARCHAR2(50)  
EMP_NAME_BANG                 VARCHAR2(150) 
EMP_GENDER                    NUMBER(1)     
EMP_CATEGORY                  NUMBER(1)     
EMP_OFFICE                    NUMBER(7)     
EMP_DESIGNATION               NUMBER(4)     
EMP_DATE_OF_JOINING           DATE          
EMP_GRADE                     NUMBER(2)     
EMP_SLAB                      NUMBER(2)     
EMP_BASIC                     NUMBER(7)     
EMP_PHOTO_UPLOAD              VARCHAR2(500) 
CREATED_ON                    DATE          
CREATED_BY                    VARCHAR2(10)  
EMP_BIRTH_DATE                DATE          
EMP_EMAIL                     VARCHAR2(50)  
EMP_PHONE                     VARCHAR2(15)  
EMP_ACCOUNT_NO                VARCHAR2(50)  
EMP_BANK_NAME                 VARCHAR2(50)  
EMP_APPOINTMENT_TYPE          NUMBER(1)

【问题讨论】:

    标签: json oracle plsql


    【解决方案1】:

    oracle没有提供的功能,可以去博客ORA-00001

    它肯定会帮助你。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-19
      • 1970-01-01
      相关资源
      最近更新 更多