SQL 조작 XML
2488 단어 sql
프로젝트 에서 우 리 는 한꺼번에 많은 데 이 터 를 제출 할 때 관성 적 인 사고 에서 볼 때 우리 가 먼저 생각 하 는 것 은 순환 이다.그러나 여기 서 문제 가 존재 합 니 다. 만약 에 데이터 가 많 을 때 현재 사용자 가 조작 한 후에 현재 페이지 에 머 물 러 제출 이 완 료 된 후에 야 다른 조작 을 할 수 있 습 니 다. 그러면 사용자 의 체험 도가 좋 지 않 고 프로그램 과 데이터 베이스 사이 에 부담 을 줄 수 있 습 니 다.이때 우리 에 게 는 이 방법 을 대체 할 좋 은 방법 을 찾 아야 한다.그들의 가르침 을 받 아 데 이 터 를 한꺼번에 제출 하 는 방식 을 발견 했다. 그것 은 바로 데 이 터 를 xml 로 제출 하 는 것 이다.이렇게 한 번 만 제출 하여 데이터 작업 을 마 쳤 습 니 다.그러나 이것 은 데이터 베이스 에 어느 정도 부담 을 줄 수 있 습 니 다. 아직 까지 더 좋 은 방법 을 생각 하지 못 했 습 니 다. 더 좋 은 방법 으로 우리 모두 가 공유 할 수 있 기 를 바 랍 니 다. 아래 에 잘못된 부분 이 있 으 면 말씀 해 주 십시오.
sql 에서 데이터 형식 은 모두 가 매우 잘 알 고 있 으 며 모두 25 가지 가 있다 고 믿 습 니 다.보통 우리 도 그 중 에 대응 하 는 것 을 자주 사용한다.그러나 xml 에 대해 서 는 자신 이 보지 못 한 것 같 습 니 다. 다음은 xml 에 대한 일반적인 작업 입 니 다.
1. 프로그램 에서 데 이 터 를 xml 로 연결 하고 자신의 상황 에 맞 게 정 합 니 다. 제 현재 상황 은 이 렇 습 니 다.
DECLARE @Xml xml='
<Rates value = "99" OperationUserID="110">
<Rate>
<Name last="a">aaa</Name>
<UserID>126</UserID>
</Rate>
<Rate>
<Name last="b">bbb</Name>
<UserID>125</UserID>
</Rate>
<Rate>
<Name last="c">ccc</Name>
<UserID>123</UserID>
</Rate>
<Rate>
<Name last="d">ddd</Name>
<UserID>124</UserID>
</Rate>
</Rates>'
먼저 뿌리 노드 에서 내 려 다 보고 현재 뿌리 노드 의 속성 을 가 져 옵 니 다.
SELECT @Xml.value('(/Rates/@value)[1]','int') AS Value
,@Xml.value('(/Rates/@OperationUserID)[1]','int') AS OperationUserID
그리고 뿌리 노드 를 보고 뿌리 노드 아래 의 노드 정 보 를 얻는다.
SELECT T.c.value('Name[1]','varchar(20)')
,T.c.value('UserID[1]','int')
,T.c.value('(Name[1]/@last)[1]','varchar(20)')
FROM @Xml.nodes('/Rates/Rate') T(c)
다음은 당신 이 데 이 터 를 꺼 낸 후에 데 이 터 를 조작 하 는 것 입 니 다. 여기 서 저 는 추 태 를 보이 지 않 고 자신의 상황 을 보고 결정 하 겠 습 니 다.
여기 서 제 가 프로젝트 에서 만난 상황 만 보 여 주 었 습 니 다. 다른 방식 이 있 을 거 라 고 믿 습 니 다. 이런 관심 을 가 진 친구 들 이 우리 가 함께 공유 할 수 있 기 를 바 랍 니 다.무슨 잘못 이 있 으 면 지적 해 주시 기 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
깊이 중첩된 객체를 정확히 일치 검색 - PostgreSQL목차 * 🚀 * 🎯 * 🏁 * 🙏 JSON 객체 예시 따라서 우리의 현재 목표는 "고용주"사용자가 입력한 검색어(이 경우에는 '요리')를 얻고 이 용어와 정확히 일치하는 모든 사용자 프로필을 찾는 것입니다. 즐거운 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.