Ich habe eine einfache Tabelle (nicht JSON streng). Ich möchte eine einfache Funktion schreiben, die die Mitarbeiter-ID als Parameter akzeptiert und alle Spalten aus der Tabelle zurückgibt, die der ID entspricht. Meine Funktion:Orakel plsql wählen Sie alle Spalte (einzelne Zeile) und als 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;
Dies funktioniert natürlich überhaupt nicht. Ich möchte eine einzelne Zeile (alle Spalten) auswählen und sie als Zeichenfolge im JSON-Format zurückgeben. zum Beispiel '{"EMP_ID" : "1234", "EMP_NAME" : "ABC"}'
wie folgt. Aber ich weiß nicht wie. Außerdem möchte ich 'SELECT *' Format verwenden, weil ich manchmal neue Spalten hinzufügen muss. Wie kann ich es tun? Gibt es einen Weg? Meine Tabellenbeschreibung:
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)