0
Hier habe ich einen Typ erstellt, um json_populate_recordset
Funktion zu verwenden.Postgres Problem mit json_populate_recordset Funktion
CREATE TYPE Visits_type AS
(facilityId varchar,patientId varchar,encounterId numeric,patientClass varchar,admnDate varchar,dischargeDate varchar,practitionerId varchar,
careLocationType varchar,careLocationCode varchar,specialtyCode varchar,status varchar,admitPractitionerId varchar,hpSeqNo varchar,admissionType varchar,assignedRoom varchar,assignedBed varchar,
Firstname varchar,
Patientname varchar,
Firstnamelocal varchar,
Patientnamelocal varchar,
sex varchar,
Dob varchar,
Mobilenumber varchar,
Emailid varchar,
RegnFacilityid varchar);
folgende Beispiel-SQL und json verwendet:
SELECT * from json_populate_recordset(null::Visits_type, '[
{
"facilityId": "10","patientId": "GH00000940","encounterId": 100011770001,"patientClass": "OP","admnDate": "2015-05-17 17:25","dischargeDate": null,"practitionerId": "ALLEN","careLocationType": "C","careLocationCode": "CL11","specialtyCode": "SP11", "status": "E", "admitPractitionerId": null, "hpSeqNo": 3796, "admissionType": "First Visit", "assignedRoom": "R1", "assignedBed": null, "firstName": "Suresh", "patientName": "Suresh Machwal", "firstNameLocal": null, "patientNameLocal": null, "sex": "M", "dob": "1970-05-17", "mobileNumber": null, "emailId": null, "regnFacilityId": "GH" }, {
"facilityId": "10",
"patientId": "GH00000940",
"encounterId": 100011770001,
"patientClass": "OP",
"admnDate": "2015-05-17 17:25",
"dischargeDate": null,
"practitionerId": "ALLEN",
"careLocationType": "C",
"careLocationCode": "CL11",
"specialtyCode": "SP11",
"status": "E",
"admitPractitionerId": null,
"hpSeqNo": 3795,
"admissionType": "First Visit",
"assignedRoom": "R1",
"assignedBed": null,
"firstName": "Suresh",
"patientName": "Suresh Machwal",
"firstNameLocal": null,
"patientNameLocal": null,
"sex": "M",
"dob": "1970-05-17",
"mobileNumber": null,
"emailId": null,
"regnFacilityId": "GH"
}]');
Das Problem ist, dass die Null-Werte für alle Felder zurückkehrt, mit Ausnahme dann dob
, status
und sex
.
i die tatsächlichen Werte sehen kann, wenn i .. abfragen, aber wenn die Verwendung FOR I IN (* FROM json_populate_recordset SELECT (null :: visits_type, visit_info -> 'visits')) LOOP .. Ich bekomme Fehler i.patientID Feld ist nicht verfügbar. Ich habe TYPE visit_type, das ich mit doppelten Anführungszeichen erstellt habe –