Postgresql 9.0.23 문서 | ||||
---|---|---|---|---|
이전 | up | 9 장. 기능 및 운영자 | 다음 |
이것에 설명 된 함수 및 기능과 같은 표현
섹션은 유형 값에 대해 작동스포츠 토토 베트맨.
확인하다PostgreSQL : 문서 : 9.0 : 토토 꽁 머니 유형에 대한 정보스포츠 토토 베트맨타입. 그만큼
기능과 같은 표현식스포츠 토토 베트맨PARSE
and스포츠 토토 베트맨serialize
변환
그리고 유형에서스포츠 토토 베트맨는 여기에서 반복되지 않습니다.
이러한 많은 기능을 사용하여 설치해야합니다.
와 함께 건축되었습니다.구성
-with-lib스포츠 토토 베트맨.
함수 세트 및 기능과 같은 표현식입니다 SQL 데이터에서 스포츠 토토 베트맨 컨텐츠를 생성 할 수 있습니다. 따라서 쿼리 결과를 형식화하는 데 특히 적합합니다 클라이언트 응용 프로그램의 처리를위한 스포츠 토토 베트맨 문서로.
스포츠 토토 베트맨comment
(텍스트)
함수스포츠 토토 베트맨comment
지정된 텍스트는 내용입니다. 텍스트는 포함 할 수 없습니다"--"또는
a로 끝납니다."-"결과 구성이 a
유효한 스포츠 토토 베트맨 주석. 인수가 null이면 결과가 있습니다
널.
예 :
선택 스포츠 토토 베트맨Comment ( 'Hello'); 스포츠 토토 베트맨comment -------------- <!-안녕하세요-
스포츠 토토 베트맨concat
(스포츠 토토 베트맨[, ...])
함수스포츠 토토 베트맨CONCAT
스포츠 토토 베트맨 컨텐츠 조각을 포함하는 단일 값. 널 값
생략된다; unnull이없는 경우 결과는 Null입니다.
논쟁.
예 :
선택 스포츠 토토 베트맨CONCAT ( '<abc/', '<bar foo </bar'); 스포츠 토토 베트맨concat ------------------------ <ABC/ <bar foo </bar
스포츠 토토 베트맨 선언은 현재 존재하는 경우 다음과 같이 결합됩니다. 만약에 모든 인수 값에는 동일한 스포츠 토토 베트맨 버전 선언이 있으며 해당 버전은 결과에 사용되며 그렇지 않으면 버전이 사용되지 않습니다. 모든 인수 값이 독립형 선언 값을 갖는 경우"예", 그 값이 사용됩니다 결과. 모든 인수 값에 독립형이있는 경우 선언 값과 적어도 하나는"아니오", 결과에 사용됩니다. 또 다른 결과에는 독립형 선언이 없습니다. 결과가 있다면 독립형 선언이 필요하지만 아니요 버전 선언, 버전 1.0이있는 버전 선언 스포츠 토토 베트맨은 스포츠 토토 베트맨 선언이 필요하기 때문에 사용됩니다. 버전 선언을 포함합니다. 인코딩 선언은 다음과 같습니다 모든 경우에 무시하고 제거되었습니다.
예 :
스포츠 토토 베트맨CONCAT를 선택하십시오 ( '<? 스포츠 토토 베트맨 버전 = "1.1"? <foo/', '<? xml 버전 = "1.1"stockalone = "no"? <bar/'); 스포츠 토토 베트맨concat -------------------------------------- <? xml 버전 = "1.1"? <foo/ <bar/
스포츠 토토 베트맨element
(이름이름[, 스포츠 토토 베트맨attributes (value[asattname] [, ... ])] [, 내용, ...])
the스포츠 토토 베트맨element
표현
주어진 이름, 속성 및
콘텐츠.
예 :
선택 스포츠 토토 베트맨ELEMENT (이름 foo); 스포츠 토토 베트맨element ------------ <foo/ 스포츠 토토 베트맨element (이름 foo, 스포츠 토토 베트맨attributes ( 'xyz'as bar))를 선택하십시오. 스포츠 토토 베트맨element ----------------- <foo bar = "xyz"/ 스포츠 토토 베트맨element (이름 foo, 스포츠 토토 베트맨attributes (current_date as bar), 'cont', 'ent')를 선택하십시오. 스포츠 토토 베트맨element ------------------------------------------------ <foo bar = "2007-01-26" content </foo
유효하지 않은 요소 및 속성 이름 불쾌한 캐릭터를 THE로 대체하여 탈출합니다 순서_XHHHH_, 여기서HHHH문자의 유니 코드입니다 16 진수 표기법의 CodePoint. 예를 들어:
스포츠 토토 베트맨ELEMENT (이름 "foo $ bar", 스포츠 토토 베트맨ATTRIBUTES ( 'XYZ'로 "a & b")); 스포츠 토토 베트맨element ------------------------------------ <foo_x0024_bar a_x0026_b = "xyz"/
명시 적 속성 이름은 속성 값은 열 참조이며,이 경우 열 이름은 기본적으로 속성 이름으로 사용됩니다. 다른 경우에는 속성에 명시적인 이름이 부여되어야합니다. 그래서이 예는 유효합니다 :
테이블 테스트 생성 (스포츠 토토 베트맨, B 스포츠 토토 베트맨); 테스트에서 XmlElement (이름 테스트, Xmlattributes (a, b))를 선택하십시오.
그러나 이것은 다음과 같습니다.
테스트에서 스포츠 토토 베트맨EMENT (이름 테스트, 스포츠 토토 베트맨ATTRIBUTES ( 'Constant'), A, B)를 선택합니다. XmlElement (이름 테스트, Xmlattributes (func (a, b)))를 테스트에서 선택하십시오;
요소 컨텐츠는 지정된 경우 형식으로 형식화됩니다 데이터 유형에. 내용 자체가 유형 인 경우스포츠 토토 베트맨, 복잡한 스포츠 토토 베트맨 문서를 구성 할 수 있습니다. 예를 들어:
스포츠 토토 베트맨ELEMENT (이름 foo, 스포츠 토토 베트맨ATTRIBUTES ( 'XYZ'AS BAR)), 스포츠 토토 베트맨element (이름 ABC), 스포츠 토토 베트맨comment ( '테스트'), 스포츠 토토 베트맨element (name xyz)); 스포츠 토토 베트맨element ----------------------------------------------------- <foo bar = "xyz" <abc/ <!-테스트- <xyz/</foo
다른 유형의 내용은 유효한 스포츠 토토 베트맨로 형식화됩니다. 문자 데이터. 이것은 특히 캐릭터를 의미합니다 <,, & & & & 엔티티로 변환됩니다. 이진 데이터 (데이터 유형BYTEA) Base64 또는 Hex 인코딩에 표시됩니다 구성 매개 변수 설정스포츠 토토 베트맨binary. 그만큼 개별 데이터 유형에 대한 특정 동작이 예상됩니다 SQL 및 PostgreSQL 데이터 유형을 정렬하려면 Evolve 스포츠 토토 베트맨 스키마 사양으로 정확한 설명이 나타납니다.
스포츠 토토 베트맨forest
(컨텐츠[as이름] [, ...])
the스포츠 토토 베트맨forest
표현
주어진 것을 사용하여 요소의 스포츠 토토 베트맨 숲 (시퀀스)을 생성합니다.
이름과 내용.
예 :
스포츠 토토 베트맨FOREST ( 'ABC'는 foo, 123으로 막대); 스포츠 토토 베트맨forest --------------------------------- <foo abc </foo <bar 123 </bar 스포츠 토토 베트맨FOREST (table_name, column_name)를 선택하십시오. information_schema.columns에서 여기서 table_schema = 'pg_catalog'; 스포츠 토토 베트맨forest -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------. <table_name pg_authid </table_name <culns_name rolname </column_name <table_name pg_authid </table_name <culns_name rolsuper </column_name ...
두 번째 예에서 볼 수 있듯이 요소 이름은 다음과 같습니다. 컨텐츠 값이 열 참조 인 경우 생략 CASE 열 이름은 기본적으로 사용됩니다. 그렇지 않으면 이름입니다 지정해야합니다.
유효하지 않은 요소 이름 스포츠 토토 베트맨 이름은
showing스포츠 토토 베트맨element
위.
마찬가지로, 컨텐츠 데이터는 유효한 스포츠 토토 베트맨 컨텐츠를 만들기 위해 탈출하여
이미 유형이 아니라면스포츠 토토 베트맨.
스포츠 토토 베트맨 숲은 유효한 스포츠 토토 베트맨 문서가 아닙니다.
둘 이상의 요소로 구성되므로 유용 할 수 있습니다.
포장하다스포츠 토토 베트맨forest
표현스포츠 토토 베트맨element
.
스포츠 토토 베트맨PI
(이름대상[, 컨텐츠])
the스포츠 토토 베트맨pi
표현이 생성됩니다
스포츠 토토 베트맨 처리 지침. 콘텐츠는 존재하는 경우해야합니다
문자 시퀀스를 포함하지 않음?.
예 :
선택 스포츠 토토 베트맨PI (이름 php, 'echo "hello world";'); 스포츠 토토 베트맨PI --------------------------------- <? php echo "Hello World";?
스포츠 토토 베트맨root
(스포츠 토토 베트맨, 버전텍스트| 가치 없음 [, 독립형 예 | 아니오 | 가치])
the스포츠 토토 베트맨root
표현
스포츠 토토 베트맨 값의 루트 노드의 특성을 변경합니다. 경우 a
버전은 지정되어 있으며 루트의 값을 대체합니다.
노드의 버전 선언; 독립형 설정이있는 경우
지정된 루트 노드의 값을 대체합니다
독립형 선언.
스포츠 토토 베트맨ROOT (스포츠 토토 베트맨PARSE (Document '<? 스포츠 토토 베트맨 버전 = "1.1"? <content abc </content'), 선택을 선택하십시오. 버전 '1.0', 독립형 예); 스포츠 토토 베트맨root ------------------------------------------ <? xml 버전 = "1.0"standalone = "yes"? <content ABC </content
스포츠 토토 베트맨agg
(스포츠 토토 베트맨)
함수스포츠 토토 베트맨agg
is,
여기에 설명 된 다른 기능과는 달리 집계입니다
기능. 입력 값을 집계로 연결합니다
기능 호출, 아주 좋아요스포츠 토토 베트맨concat
그 연결을 제외하고
단일 표현이 아닌 행에서 발생합니다.
열. 보다PostgreSQL : 문서 : 9.0 : 메이저 토토 사이트 함수집계 함수에 대한 추가 정보.
예 :
테이블 테스트 생성 (y int, x xml); 테스트 값에 삽입 (1, '<foo abc </foo'); 테스트 값에 삽입 (2, '<bar/'); 테스트에서 스포츠 토토 베트맨agg (x)를 선택하십시오. 스포츠 토토 베트맨agg ------------------------ <foo abc </foo <bar/
연결 순서를 결정하려면주문 by조항이 집계에 추가 될 수 있습니다 에 설명 된대로 호출섹션 4.2.7. 예를 들어:
테스트에서 스포츠 토토 베트맨agg (x order by y desc)를 선택합니다. 스포츠 토토 베트맨agg ------------------------ <bar/ <foo abc </foo
다음과 같은 비표준 접근법을 권장했습니다 이전 버전에서는 여전히 구체적으로 유용 할 수 있습니다. 사례 :
스포츠 토토 베트맨agg (x)를 선택하십시오 (Y desc의 Test Order에서 선택 *) 탭; 스포츠 토토 베트맨agg ------------------------ <bar/ <foo abc </foo
스포츠 토토 베트맨is document
표현문서인수 스포츠 토토 베트맨 값이 적절한 스포츠 토토 베트맨 인 경우 true를 반환합니다. 문서, false가 아닌 경우 (즉, 콘텐츠입니다. 인수가 무인 인 경우 조각) 또는 null. 보다섹션 8.13차이에 대한 문서와 콘텐츠 조각 사이.
데이터 유형의 프로세스 값스포츠 토토 베트맨,
PostgreSQL은 함수를 제공합니다xpath
23235_23281
xpath
(xpath, 스포츠 토토 베트맨[, NSARRAY])
함수xpath
평가
xpath 표현xpath스포츠 토토 베트맨 값에 대한스포츠 토토 베트맨. 그것
노드 세트에 해당하는 스포츠 토토 베트맨 값 배열을 반환합니다.
XPath 표현식에 의해 생성.
두 번째 인수는 잘 형성된 스포츠 토토 베트맨 문서 여야합니다. ~ 안에 특히 단일 루트 노드 요소가 있어야합니다.
23945_24502xpath
함수 컨텍스트, 별칭은로컬).
예 :
xpath ( '/my : a/text ()', '<my : a xmlns : my = "http://example.com" test </my : a', 배열 [배열 [ 'my', 'http://example.com']); xpath -------- 시험
기본 (익명) 네임 스페이스를 다루는 방법 :
xpath ( '// mydefns : b/text ()', '<a xmlns = "http://example.com" <b test </b </a', 배열 [배열 [ 'mydefns', 'http://example.com']); xpath -------- 시험
다음 기능은 관계형의 내용을 매핑합니다 스포츠 토토 베트맨 값으로 테이블. 스포츠 토토 베트맨 수출로 생각할 수 있습니다 기능 :
TABLE_TO_스포츠 토토 베트맨 (TBL Regclass, Nulls Boolean, TableForest Boolean, Targetns Text) query_to_스포츠 토토 베트맨 (쿼리 텍스트, Nulls 부울, Tableforest Boolean, Targetns Text) cursor_to_스포츠 토토 베트맨 (cursor refcursor, count int, nulls boolean, TableForest Boolean, Targetns Text)
각 함수의 리턴 유형은입니다.스포츠 토토 베트맨.
table_to_스포츠 토토 베트맨
컨텐츠를 맵핑합니다
지명 된 테이블의 매개 변수로 전달TBL. 그만큼RegClass타입
일반적인 표기법을 사용하여 테이블을 식별하는 문자열을 허용합니다.
선택적 스키마 자격 및 이중 인용문 포함.query_to_스포츠 토토 베트맨
쿼리를 실행합니다
그의 텍스트가 매개 변수로 전달됩니다쿼리결과 세트를지도합니다.cursor_to_스포츠 토토 베트맨
표시된 수를 가져옵니다
매개 변수로 지정된 커서의 행커서. 이 변형은 큰 경우 권장됩니다
결과 값이 쌓여 있으므로 테이블을 매핑해야합니다.
각 함수에 의한 메모리에서.
if탁자거짓이면 결과 스포츠 토토 베트맨 문서 결과는 다음과 같습니다.
<pableName <줄 <councleName1 data </columnname1 <councleName2 data </columnname2 </row <줄 ... </row ... </tableName
if탁자는 사실입니다 결과는 다음과 같이 보이는 스포츠 토토 베트맨 컨텐츠 조각입니다.
<tableName <councleName1 data </columnname1 <councleName2 data </columnname2 </tableName <tableName ... </tableName ...
테이블 이름을 사용할 수없는 경우 쿼리를 매핑 할 때 또는 커서, 문자열테이블사용됩니다 첫 번째 형식으로Row두 번째 체재.
이 형식들 사이의 선택은 사용자에게 달려 있습니다. 그만큼
첫 번째 형식은 적절한 스포츠 토토 베트맨 문서이며, 이는 중요합니다.
많은 응용 프로그램에서. 두 번째 형식은 더 유용한 경향이 있습니다
에서cursor_to_스포츠 토토 베트맨
기능 if
결과 값은 나중에 하나의 문서로 다시 조립됩니다.
에. 위에서 논의 된 스포츠 토토 베트맨 컨텐츠를 생성하기위한 기능
특정한스포츠 토토 베트맨element
결과를 맛으로 바꾸는 데 사용됩니다.
데이터 값은 설명한 것과 동일한 방식으로 매핑됩니다.
함수스포츠 토토 베트맨element
위.
매개 변수nulls결정 널 값이 출력에 포함되어야하는지 여부. 사실이라면 열의 널 값은 다음과 같이 표시됩니다.
<ColumnName XSI : nil = "true"/
어디XSI스포츠 토토 베트맨 네임 스페이스입니다 스포츠 토토 베트맨 스키마 인스턴스의 접두사. 적절한 네임 스페이스 선언은 결과 값에 추가됩니다. 거짓 인 경우 널 값을 포함하는 열은 단순히에서 생략됩니다 산출.
매개 변수targetns지정 결과의 원하는 스포츠 토토 베트맨 네임 스페이스. 특별한 경우 네임 스페이스가 필요하고 빈 문자열을 전달해야합니다.
다음 함수는 스포츠 토토 베트맨 스키마 문서를 반환합니다 해당 매핑을 설명합니다 위의 기능 :
TABLE_TO_스포츠 토토 베트맨SCHEMA (TBL Regclass, Nulls Boolean, Tableforest Boolean, Targetns 텍스트) query_to_스포츠 토토 베트맨schema (쿼리 텍스트, Nulls Boolean, Tableforest Boolean, Targetns 텍스트) cursor_to_스포츠 토토 베트맨schema (Cursor Refcursor, Nulls Boolean, Tableforest Boolean, Targetns Text)
동일한 매개 변수를 순서대로 전달하는 것이 중요합니다. 일치하는 스포츠 토토 베트맨 데이터 매핑 및 스포츠 토토 베트맨 스키마를 얻습니다 서류.
다음 함수는 스포츠 토토 베트맨 데이터 매핑을 생성합니다 하나의 문서 (또는 포레스트)의 해당 스포츠 토토 베트맨 스키마 링크 함께. 그들은 독립적 인 곳에서 유용 할 수 있습니다 자기 설명 결과가 필요합니다 :
table_to_스포츠 토토 베트맨_and_xmlschema (tbl regclass, nulls boolean, tableforest boolean, targetns 텍스트) query_to_스포츠 토토 베트맨_and_xmlschema (쿼리 텍스트, nulls boolean, 탁자 부울, targetns text)
또한 다음 기능을 사용할 수 있습니다 전체 스키마 또는 전체의 유사한 매핑을 생성합니다 현재 데이터베이스 :
schema_to_xml (스키마 이름, nulls boolean, 탁자 부울, targetns 텍스트) schema_to_xmlschema (스키마 이름, nulls boolean, 탁자 부울, targetns 텍스트) schema_to_xml_and_xmlschema (스키마 이름, nulls boolean, 탁자 부울, Targetns 텍스트) database_to_xml (nulls boolean, 탁자 부울, Targetns 텍스트) database_to_xmlschema (nulls boolean, 탁자 부울, Targetns 텍스트) database_to_xml_and_xmlschema (nulls boolean, 탁자 부울, targetns 텍스트)
잠재적으로 많은 데이터를 생성합니다. 메모리에서 구축해야합니다. 콘텐츠를 요청할 때 대형 스키마 또는 데이터베이스의 매핑은 가치가있을 수 있습니다. 대신 테이블을 개별적으로 매핑하는 것을 고려합니다 커서를 통해서도.
스키마 컨텐츠 매핑의 결과는 다음과 같습니다.
<schemaname 표 1 매핑 표 2 매핑 ... </schemaname
테이블 매핑 형식이에 따라 다릅니다.TableForest설명 된대로 매개 변수 위에.
데이터베이스 컨텐츠 매핑 결과는 모양입니다 이것:
<dbname <schema1name ... </schema1name <Schema2Name ... </schema2name ... </dbname
스키마 매핑이 위와 같은 곳.
기능,그림
9-1XSLT 스타일 시트를 보여줍니다.table_to_스포츠 토토 베트맨_and_xmlschema
테이블 데이터의 표 표현을 포함하는 HTML 문서.
비슷한 방식으로 이러한 기능의 결과는
다른 스포츠 토토 베트맨 기반 형식으로 변환.
그림 9-1. 변환을위한 XSLT 스타일 시트 SQL/스포츠 토토 베트맨 출력으로 HTML
<? xml 버전 = "1.0"? <xsl : 스타일 버전 = "1.0" xmlns : xsl = "http://www.w3.org/1999/xsl/transform" xmlns : xsd = "http://www.w3.org/2001/xmlschema" xmlns = "http://www.w3.org/1999/xhtml" <xsl : 출력 메소드 = "xml" doctype-system = "http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd" doctype-public = "-// w3c/dtd xhtml 1.0 엄격한 // en" 인트 = "예"/ <xsl : 템플릿 매치 = "/*" <xsl : variable name = "schema"select = "// xsd : schema"/ <xsl : 변수 이름 = "tabletypename" select = "$ schema/xsd : element [@name = name (current ())]/@type"/ <xsl : 변수 이름 = "rowtypename" select = "$ schema/xsd : complextype [@name = $ tabletypeName]/xsd : 시퀀스/xsd : 요소 [@name = 'row']/@type"/ <html <헤드 <title <xsl : select value-of select = "name (current ())"/ </title </head <body <테이블 <tr <xsl : for-each select = "$ schema/xsd : complextype [@name = $ rowtypename]/xsd : sequence/xsd : element/@name" <th <xsl : select value-of select = "."/ </th </xsl : for-each </tr <xsl : for-each select = "row" <tr <xsl : for-each select = "*" <td <xsl : select value-of select = "."/ </td </xsl : for-each </tr </xsl : for-each </테이블 </body </html </xsl : 템플릿 </xsl : 스타일 시트