2016-08-03 132 views
0

我有一個簡單的表(不是JSON嚴格)。我想編寫一個簡單的函數,將職員id作爲參數,並返回表中匹配id的所有列。我的功能:oracle plsql選擇所有列(單行)並返回爲json

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) 

回答

0

沒有Oracle提供的功能,你可以通過博客,ORA-00001

它一定會幫助你。