다음과 같이 Oracle DB에 테이블이 있습니다.Oracle 12c에서 JSON 문자열의 일부를 업데이트하는 방법은 무엇입니까?
CREATE TABLE my_table(
id RAW(16) NOT NULL,
data CLOB,
CONSTRAINT my_table_pk PRIMARY KEY (id),
CONSTRAINT my_table_json_chk CHECK (data IS JSON)
);
INSERT INTO my_table (id, data)
VALUES (SYS_GUID(),
'{
"FirstName" : "aa",
"LastName" : "bb",
"Address" : {
"Street" : "99 My Street",
"City" : "My City",
"Country" : "UK",
"Postcode" : "A12 34B"
}');
지금 나는 $를 사용하여 JSON 문자열의 address
같은 특정 프로퍼티의 값을 가져올 수 있습니다, 알고있다.
마찬가지로 업데이트 쿼리에 전체 JSON 구조를 제공하지 않고도 JSON 문자열의 Street
속성을 업데이트 할 수 있습니까?
도와주세요.
왜 DB에 JSON을 저장해야? 속성의 열 forceach를 만들고 특정 열을 쿼리하고 필터링 할 수도 있습니다. 값을 찾아서 특정 값만을 얻는 것은 기본적으로 db의 성능에 치명적인 무거운 문자열 연산입니다. –
Chetan은 다른 요구 사항으로 인해 JSON을 DB에 저장 했으므로 이제 해당 디자인을 변경할 수 없습니다. 그러니이 의심에 대해 저를 도와 주시면 저에게 제안 해주십시오. – Raj