XMLEXISTSã?¯ã€?SQLã?«ã?¦XMLã‚’å•?ã?„å?ˆã‚?ã?›ã‚‹ã?¨ã??ã?«åˆ©ç”¨ã?§ã??ã‚‹SQL/XML演算å?ã?§ã?™ã€‚
XMLEXISTS演算å?ã?¯äºŒã?¤ã?®å¼•æ•°ã‚’å?–りã?¾ã?™ã€‚XMLå•?å?ˆã?›å¼?ã?¨DerbyXML値ã?§ã?™ã€‚
XMLEXISTS ( xqueryæ–‡å—列リテラル PASSING BY REF XML値å¼? [ BY REF ] )
XMLEXISTS演算å?ã?¯å•?å?ˆã?›ã?Œè©•価ã?•れã?Ÿçµ?果を直接ã?«è¿”ã?—ã?¾ã?›ã‚“。å•?å?ˆã?›ã?Œè©•価ã?•れã?Ÿçµ?果を直接ã?«å¾—ã?Ÿã?„å ´å?ˆã€?XMLQUERY演算å?を使ã?†å¿…è¦?ã?Œã?‚りã?¾ã?™ã€‚
XMLEXISTS演算å?ã?®çµ?æžœã?¯SQLã?®çœŸå?½å€¤ã?ªã?®ã?§ã€?真å?½åž‹ã?®é–¢æ•°ã‚’ç½®ã??ã?“ã?¨ã?Œã?§ã??ã‚‹å ´æ‰€ã?ªã‚‰ä½•処ã?§ã‚‚XMLEXISTS演算å?を使ã?†ã?“ã?¨ã?Œã?§ã??ã?¾ã?™ã€‚ã?Ÿã?¨ã?ˆã?°ã€?XMLEXISTS演算å?を表定義ã?®ãƒ?ェック制約ã?«ä½¿ã?†ã?“ã?¨ã‚„ã€?WHERE節ã?®è¿°éƒ¨ã?«ç½®ã??ã?“ã?¨ã‚‚ã?§ã??ã?¾ã?™ã€‚
SELECT id, XMLEXISTS('//student[@age=20]' PASSING BY REF xcol) FROM x_table
SELECT id FROM x_table WHERE XMLEXISTS('/roster/student' PASSING BY REF xcol)
CREATE TABLE x_table ( id INT, xcol XML CHECK (XMLEXISTS ('//student[@age < 25]' PASSING BY REF xcol)) )
Derbyã?«ã?¦XMLã?®æ©Ÿèƒ½ã‚’使ã?†å ´å?ˆã€?Apache Xercesã?®ã‚ˆã?†ã?ªJAXP parserã?¨Apache Xalanã?ŒJavaã?®ã‚¯ãƒ©ã‚¹ãƒ‘スã?«è¨˜è¿°ã?•れã?¦ã?„ã‚‹å¿…è¦?ã?Œã?‚りã?¾ã?™ã€‚ JAXP parserã?‚ã‚‹ã?„ã?¯Xalanã?Œã‚¯ãƒ©ã‚¹ãƒ‘スã?«è¨˜è¿°ã?•れã?¦ã?„ã?ªã?‹ã?£ã?Ÿå ´å?ˆã€?XMLEXISTS演算å?を利用ã?™ã‚‹ã?¨ã‚¨ãƒ©ãƒ¼ã?«ã?ªã‚Šã?¾ã?™ã€‚