는 XML 변경 검색 학습 내부의 내부 오라클 CLOB 필드 추가 및 삭제

 이 시간 동안, 내가 가게 내부에 XML 정보 CLOB 필드의 내부 시스템 테이블을 사용하여, 우리는 많은 그가 많이 참조 않습니다 CRUD 작업 XML을 수행하고 배운 방법, 당신과 함께 공유하기

 먼저, 테스트 테이블을 만들어 보자

  

표 EFGP_231.FORMINSTANCE_2019_07_20_test1 CREATE 
(OID CHAR (32) NOT NULL은 ENABLE 
    FIELDVALUES CLOB NOT NULL ENABLE 
)

  

  당신이 만든 후에, 우리의 XML 데이터로 CLOB 필드는, 구체적으로 무엇이며,

  

<quanxian>
<Textbox6 자료 = "Textbox6"dataType와 = "java.lang.String의"perDataProId = ""> </ Textbox6>
<Textbox9 자료 = "Textbox9"dataType와 = "java.lang.String의"perDataProId = ""> 1,205 </ Textbox9>
<Textbox10 자료 = "Textbox10"dataType와 = "java.lang.String의"perDataProId = ""> 2019년 7월 18일 </ Textbox10>
<TextArea14 ID = "TextArea14"dataType와 = "java.lang.String의" perDataProId = ""> </ TextArea14>
<serialNumber를 ID = "serialNumber를"dataType와 = "java.lang.String의"> ZX-2019074674 </ serialNumber를>
<Textbox21 자료 = "Textbox21"dataType와 = "java.lang.String의"perDataProId = ""> </ Textbox21>
<HiddenTextField0 ID = "HiddenTextField0"dataType와 = "java.lang.String의"perDataProId = ""/>
<Checkbox0 ID = "Checkbox0"dataType와 = "java.lang.String의"> 0 </ Checkbox0>
<CheckBox1을 자료 = "CheckBox1을"dataType와 = "java.lang.String의"/>
<Checkbox2 자료 = "Checkbox2"dataType와 = "java.lang.String의"/>
<Checkbox3 자료 = "Checkbox3"dataType와 = "인 java.lang. 문자열 "/>
<Checkbox4 자료 ="Checkbox4 "dataType와 ="java.lang.String의 "/>
<Checkbox5 자료 ="Checkbox5 "dataType와 ="java.lang.String의 "/>
<Textbox11 ID ="Textbox11 "dataType와 =" java.lang.String의 "perDataProId =" "> </ Textbox11>
<HiddenTextField1 자료 ="HiddenTextField1 "dataType와 ="java.lang.String의 "perDataProId =" "/>
<HiddenTextField2 ID ="HiddenTextField2 "dataType와 ="java.lang의 .String "perDataProId =" "> 1205 </ HiddenTextField2>
<RadioButton18 ID = "RadioButton18"dataType와 = "java.lang.String의"/>
<TextArea19 ID = "TextArea19"dataType와 = "java.lang.String의"perDataProId = ""/>
<Textbox0 자료 = "Textbox0"dataType와 = "java.lang.String의"perDataProId = ""> 19,060,071 </ Textbox0>
<Textbox1의 ID = "Textbox1의"dataType와 = "java.lang.String의"perDataProId = ""> </ Textbox1의 >
<Checkbox7 자료 = "Checkbox7"dataType와 = "java.lang.String의"/>
<Checkbox9 자료 = "Checkbox9"dataType와 = "java.lang.String의"/>
<Checkbox8 자료 = "Checkbox8"dataType와 = "java.lang의 .String "/>
<TextArea0 ID ="TextArea0 "dataType와 ="java.lang.String의 "perDataProId =" "/>
<Checkbox6 자료 ="Checkbox6 "dataType와 ="java.lang.String의 "/>
<HiddenTextField3 ID =" HiddenTextField3 "dataType와 ="java.lang의.문자열 "perDataProId =" "/>
<HiddenTextField4 ID ="HiddenTextField4 "dataType와 ="java.lang.String의 "perDataProId =" "> R </ HiddenTextField4>
<Checkbox10 자료 ="Checkbox10 "dataType와 ="java.lang.String의 " />
<Checkbox11 ID = "Checkbox11"dataType와 = "java.lang.String의"/>
<Dropdown13 자료 = "Dropdown13"dataType와 = "java.lang.String의"> SX003 </ Dropdown13>
<TextArea15 ID = "TextArea15"dataType와 = " java.lang.String의 "perDataProId =" "> </ TextArea15>
<TextArea25 ID ="TextArea25 "dataType와 ="java.lang.String의 "perDataProId =" "> </ TextArea25>
<Checkbox24 자료 ="Checkbox24 "dataType와 =" java.lang.String의 "/>
<TextArea26 ID ="TextArea26 "dataType와 ="java.lang.String의 "perDataProId =" "/>
<hd5에 ID ="hd5에 "dataType와 ="java.lang.String의 "perDataProId =" " />
<HD6 자료 = "HD6"dataType와 = "java.lang.String의"perDataProId = ""/>
<PS0 ID = "PS0 'dataType와 ="java.lang.String의 "perDataProId =" "> </ PS0>
<PS1 ID ='PS1 '= dataType와" java.lang.String의 "perDataProId =" "> SX003 </ PS1>
<HD0 ID = "HD0"dataType와 = "java.lang.String의"perDataProId = ""> 거짓 </ HD0>
<SubjectInfo ID = "SubjectInfo"dataType와 = "java.lang.String의"perDataProId = ""> </ SubjectInfo >
<GroupArrayInfo 자료 = "GroupArrayInfo"dataType와 = "java.lang.String의"perDataProId = ""> </ GroupArrayInfo>
<Checkbox12 자료 = "Checkbox12"dataType와 = "java.lang.String의"/>
<Checkbox13 자료 = "Checkbox13 "dataType와 ="java.lang.String의 "/>
</ quanxian>

다음 오라클 CRUD은


222 : - 예를 들어, 노드에 값을 얻기
; t.oid '17297af0e588100488896efdb640ce5e'는 T = Forminstance_2019_07_20_test1 AS SELECT extractValue와 결과 (XMLType을 (t.fieldvalues) '/ quanxian / TextArea15')
변형 -
UPDATE Forminstance T는 SET =는 t.fieldvalues
updatexml (XMLType을 (t.fieldvalues) '/ quanxian / Textbox6', '<Textbox6> 웨이 웨이 111 </ Textbox6>'). getClobVal ()
를 Where t.oid = '17297af0e588100488896efdb640ce5e를'

- 삭제
. 업데이트 Forminstance_2019_07_20 = T에게 SET의 t.fieldvalues의 deletexml (XMLType을 (t.fieldvalues), '/ quanxian / TextArea15') getClobVal ()
를 Where t.oid = '17297af0e588100488896efdb640ce5e을';

- 추가 된 XML 노드를 insertchildxml는 XML 노드를 추가 기본 매개 변수 3 노드가 존재하지 않는 경우, 지정된 노드 뒤에 삽입 자식 노드 세트의 끝에 추가됩니다
- XML 노드, insertchildxmlbefore을 추가하고, insertchildxmlafter는 XML 노드를 추가
--- 매개 변수 3 노드가 앞에 삽입되도록 지정 노드가 존재하지 않는 경우 대안 후 다음 하위 세트의 끝에 추가는 노드
업데이트 Forminstance_2019_07_20_test1의 t 세트 t.fieldvalues = insertchildxml ( XMLTYPE (t.fieldvalues)를, '전화'/ quanxian 'XMLTYPE ('<전화> 222 </ 전화> ')) getClobVal () = t.oid.'17297af0e588100488896efdb640ce5e ';
업데이트 Forminstance_2019_07_20_test1 t 세트 t.fieldvalues ​​= insertchildxmlbefore (XMLTYPE (t.fieldvalues), 'Textbox6'/ quanxian 'XMLTYPE ('<TextArea15> 111 </ TextArea15> ')). getClobVal () t.oid =' 17297af0e588100488896efdb640ce5e ';

추천

출처www.cnblogs.com/chenzhelove/p/11361027.html