Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 21 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
21
Dung lượng
874,01 KB
Nội dung
Nhp môn H qun tr c s d liu DB2 189 XMLQUERY Thc thi câu truy vn XQuery và tr v dãy kt qu XMLTABLE Thc thi câu truy vn XQuery và kt qu tr v (nu có) s, là mt bng quan h XMLCAST Ép kiu XML Bng 16.5 - Các hàm SQL/XML Nhng ví d minh h&a sau s dng c s d liu “mydb” mà ta ã to ra t* trc. Ví d 1: Gi s bn cn xác nh tên tt c khách hàng sng mt vùng nào ó (có cùng mã vùng – zip). Bng “clients” lu a ch- khách hàng, bao g+m mã vùng, trong mt ct XML. S dng XMLEXISTS, bn tìm thy ct d liu XML phù hp vi mã vùng, sau ó gii hn li kt qu tr v. SELECT name FROM clients WHERE xmlexists ( ‘$c/Client/Address[zip=”95116”]’ passing clients.contact as “c” ) Dòng u tiên ca câu lnh SQL nói rng bn mun ly thông tin trong ct “name” ca bng “clients”. Mnh WHERE g&i hàm XMLEXISTS, ch- nh rõ biu thc XPath yêu cu DB2 tìm phn t “zip” có giá tr 95116. Mnh “$c/Client/Address” xác nh ng d%n bên trong cây cu trúc ca tài liu XML DB2 có th tìm ra phn t “zip”. Ký t $ c dùng khai báo “c” là mt bin. Bin “c” này sau ó c nh ngh'a bng câu lnh passing clients.contact as “c”. Trong ó “clients” là tên bng và “contact” là tên ct có kiu d liu XML. Nói cách khác, chúng ta ang a tài liu XML vào bin “c”. DB2 kim tra d liu XML trong ct “contact”, duyt t* nút “Client” xung nút “Address”, cui cùng là nút “zip” và xác nh xem khách hàng có sng vùng có mã vùng ó không. Nu thy, hàm XMLEXISTS tr v “true” và DB2 ly ra tên khách hàng tng ng. Ví d 2: Chúng ta suy ngh' xem làm cách nào to ra c m%u báo cáo g+m danh sách a ch- th in t ca nhng khách hàng “Vàng” (có trng thái “Gold”). Câu truy vn di ây có th gii quyt vn này: SELECT xmlquery(‘$c/Client/email’ passing contact as “c”) FROM clients WHERE status = “Gold” Dòng u tiên nói rng ta mun ly ra phn t là a ch- th in t ca tài liu XML ch không mun ly ra ct d liu. Tng t ví d trc, tài liu XML c lu trong bin “$c”. Trong ví d này, hàm XMLQUERY có th c s dng sau mnh SELECT, trong khi hàm XMLEXISTS c s dng sau mnh WHERE. Ví d 3: Có trng hp bn mun trình bày d liu XML theo dng bng, ta có th làm c iu này bng cách s dng hàm XMLTABLE. Nhp môn H qun tr c s d liu DB2 190 SELECT t.comment#, i.itemname, t.customerID, Message FROM items I, xmltable(‘$c/Comments/Comment’ passing i.comments as “c” columns Comment# integer path ‘CommentID’, CustomerID integer path ‘CustomerID’, Message varchar(100) path ‘Message’) AS t Dòng u tiên cho bit nhng ct nào s, xut hin trong t#p hp kt qu (results set). Nhng ct bt u bng “t” là c s trên các giá tr ca phn t XML. Dòng tip theo g&i hàm XMLTABLE xác nh rõ ct XML ca DB2 s, cha d liu mà ta cn (“i.comments”) và ng d%n n phn t ó trong tài liu XML, là nhng phn t mong mun. T* dòng 4 n 6 là mnh “columns”, xác nh nhng phn t XML c th nào s, c ánh x tng ng vi nhng ct trong bng kt qu ca câu lnh SQL dòng 1. Phn ánh x này có s tham gia ca kiu d liu mà các giá tr ca các phn t XML s, chuyn i thành. Trong ví d này, tt c d liu XML u c i thành kiu d liu vn có ca SQL. Ví d 4: Bây gi ta s, thc hin mt ví d n gin có s dng biu thc XQuery FLWOR bên trong hàm XMLQUERY SQL/XML. SELECT name, xmlquery( ‘for $e in $c/Client/email[1] return $e’ passing contact as “c” ) FROM clients WHERE status = ‘Gold’ Dòng th nht xác nh rng bng kt qu ca câu truy vn bao g+m tên khách hàng và kt qu tr v t* hàm XMLQUERY. Dòng th hai cho bit phn t “email” u tiên ca phn t “Client” s, c tr v. Dòng th ba ch- ngu+n d liu XML (ct “contact”). Dòng th t cho ta bit ct này bng “client”; và dòng nm ch- ra khách hàng “vàng” là quan tâm ca chúng ta. Ví d 5: Ví d này minh h&a li hàm XMLQUERY có s dng biu thc XQuery FLWOR, nhng ln này ta không ch- tr v d liu XML mà còn c HTML. SELECT xmlquery (‘for $e in $c/Client/email[1]/text() return <p>{$e}</p>’ passing contact as “c” ) FROM clients WHERE status = ‘Gold’ Mnh return ca XQuery cho phép bin i d liu XML u ra theo yêu cu. S dng hàm text() dòng u tiên ch- ra rng ta ch- quan tâm n biu di0n vn bn a ch- e-mail u tiên ca nhóm khách th"a mãn yêu cu. Dòng th hai cho bit thông tin này s, c b&c li trong các th2 HTML (trong trng hp này là th2 <p> và </p>). Ví d 6: Ví d di ây minh h&a cách s dng hàm XMLELEMENT to ra mt dãy các phn Nhp môn H qun tr c s d liu DB2 191 t, mi phn t này li cha trong nó các phn t con (sub-element) có ni dung v ID, tên hàng hóa và ch- s hàng hóa ti thiu trong kho (SKU) tng ng vi các ct trong bng “items”. V c bn, ta có th dùng hàm XMLELEMENT khi mun chuyn t* d liu quan h sang d liu XML. SELECT xmlelement (name “item”, itemname), xmlelement (name “id”, id), xmlelement (name “brand”, brandname), xmlelement (name “sku”, sku) FROM items WHERE srp < 100 Kt qu xut ra ca câu truy vn trên nh sau: <item> <id>4272</id> <brand>Classy</brand> <sku>981140</sku> </item> … <item> <id>1193</id> <brand>Natural</brand> <sku>557813</sku> </item> Truy vn d liu XML vi XQuery Trong phn trc, ta ã thy c cách truy vn d liu XML vi câu SQL có phn m rng cho XML. Trng hp này, SQL là phng pháp truy vn chính, và XPath c nhúng vào bên trong câu lnh SQL. Còn trong tip theo này, ta nói v cách s dng XQuery truy vn d liu XML. Lúc này, XQuery là phng pháp chính, và trong mt s trng hp, ta s, nhúng SQL vào bên trong XQuery (bng cách s dng hàm “db2- fn:sqlquery”). Khi thc hành vi XQuery , ta s, g&i vài hàm, s dng c biu thc FLWOR. Ví d 1: Làm mt truy vn XQuery n gin là ly d liu liên lc ca khách hàng. xquery db2-fn:xmlcolumn(‘CLIENTS.CONTACT’) Nh luôn luôn thêm lnh “xquery” vào u biu thc XQuery cho DB2 bit rng nó cn s dng b phân tích (parser) XQuery. Nu không, DB2 s, cho rng bn ang c gng thc thi biu thc SQL. Hàm db2-fn:xmlcolumn ly ct ta ch- nh trong tài liu XML làm tham s. Câu lnh trên tng ng vi câu lnh SQL sau ây: SELECT contact FROM clients Ví d 2: Ta s dng biu thc FLWOR ly thông tin v s fax ca khách hàng. xquery for $y in db2-fn:xmlcolumn(‘CLIENTS.CONTACT’)/Client/fax return $y Nhp môn H qun tr c s d liu DB2 192 Dòng u tiên g&i b phân tích XQuery. Dòng th hai yêu cu DB2 lp ht các phn t con fax trong ct CLIENTS.CONTACT. Mi phn t fax c lu trong bin $y. Dòng cui cùng nói rng giá tr ca bin $y s, c tr v trong mi ln lp. Kt qu xut ra ca câu truy vn trông ging nh sau (mc nh có th g+m a ch- ca không gian tên (namespace) nhng ây tôi không th hin ra, mt khác thông tin xut có th tri ra thành nhiu dòng nên hi khó &c): <fax>4081112222</fax> <fax>5559998888</fax> Ví d 3: Ví d này tip tc truy vn d liu XML và tr v kt qu là HTML xquery <ul> { for $y in db2-fn:xmlcolumn(‘CLIENTS.CONTACT’)/Client/Address order by $y/zip return <li>{$y}</li> </ul> Kt qu HTML tr v trông nh sau: <ul> <li> <address> <street>9407 Los Gatos Blvd.</street> <city>Los Gatos</city> <state>ca</state> <zip>95302</zip> </address> </li> <li> <address> <street>4209 El Camino Real</street> <city>Mountain View</city> <state>CA</state> <zip>95302</zip> </address> </li> … </ul> Ví d 4: Tip theo là cách nhúng SQL vào trong XQuery bng vic s dng hàm db2- fn:sqlquery. Hàm db2-fn:sqlquery thc thi câu truy vn SQL và ch- tr v nhng d liu XML c ch&n. Ch- nhng câu truy vn SQL tr v d liu XML mi c truyn vào hàm db2-fn:sqlquery. xquery for $y in db2-fn:sqlquery( ‘select comments from items where srp > 100’ )/Comments/Comment where $y/ResponseRequested = ‘Yes’ Nhp môn H qun tr c s d liu DB2 193 return ( <action> {$y/ProductID $y/CustomerID $y/Message} </action> ) Trong ví d trên, câu truy vn SQL l&c nhng dòng d liu th"a iu kin giá tr ti ct “srp” phi ln hn 100. T* các dòng ã l&c này ly ra ct “comments”, là ct d liu XML. Câu lnh XQuery (hoc XPath) tip theo c áp dng cho nhng phn t con. 16.3.6 Ni (join) vi SQL/XML Phn này s, mô t cách thc thc hin lnh JOIN gia hai ct XML ca hai bng khác nhau, hoc gia mt ct XML và mt ct quan h. Gi s ta ã to hai bng vi các lnh sau: CREATE TABLE dept (unitID CHAR (8), deptdoc XML) CREATE TABLE unit (unitID CHAR(8) primary key not null, name CHAR(20), manager VARCHAR(20), . . . ) Ta có th thc hin lnh JOIN theo mt trong hai cách Phng pháp 1: SELECT u.unitID FROM dept d, unit u WHERE XMLEXITS( ‘$e//employee[name = $n]’ passing d.deptdoc as “e”, u.manager as “m”) Trên dòng 3 ca lnh này ch- ra rng lnh JOIN xut hin gia phn t “name” là phn t con ca ct XML deptdoc ca bng “dept”, và ct quan h “manager” ca bng “unit”. Phng pháp 2: SELECT u.unitID FROM dept d, unit u WHERE u.manager = XMLCAST( XMLQUERY(‘$e//employee/name’ passing d.deptdoc as “e”) AS char(20)) Ghi chú: DB2 không phân bit ch in hoa và ch thng và gi nh tt c tên bng v à tên ct u là ch in hoa, trong khi ó XQuery li phân bit ch in hoa và ch th ng. Các hàm trên là hàm giao din ca XQuery (XQuery interface function) do ó tên b ng và tên ct truyn vào các hàm này nên là ch hoa. Truyn tên i t ng dng ch thng có th gây ra li “tên i tng không xác nh” (undefined object name) Nhp môn H qun tr c s d liu DB2 194 Trong la ch&n này, ct quan h thì bên trái ca lnh JOIN. Nu ct có quan h bên trái du bng, mt ch- mc quan h có th c dùng thay cho mt ch- mc XML. 16.3.7 Ni (Join) vi XQuery Gi s có các bng sau c to ra: CREATE TABLE dept(unitID CHAR(8), deptdoc XML) CREATE TABLE project(projectdoc XML) Nu ta s dng SQL/XML, câu truy vn s, nh sau: SELECT XMLQUERY ( ‘$d/delp/employee’ passing d.deptdoc as “d”) FROM dept d, project p WHERE XMLEXISTS( ‘$e/dept[@deptID=$p/project/deptID]’ passing d.deptdoc as “e”, p.project as “p”) Lnh tng ng s dng XQuery s, là: xquery for $dept in db2-fn:xmlcolumn(“DEPT.DEPTDOC”)/dept for $proj in db2- fn:xmlcolumn(“PROJECT.PROJECTDOC”)/project where $dept/@deptID = $proj/deptID return $dept/employee Phng pháp th 2 này d0 phiên dch hn – bin “$dept” mang tài liu XML ca ct XML “deptdoc” ca bng “dept”. Bin “$proj” mang tài liu XML ca ct XML “projectdoc” ca bng “project”. Nh v#y dòng 4 thc hin lnh JOIN gia mt thuc tính ca tài liu XML u tiên và mt phn t ca tài liu XML th hai. 16.3.8 Các lnh cp nht và xóa Các lnh c#p nh#t và xóa d liu XML có th c thc hin bng mt trong hai cách: - S dng câu lnh SQL UPDATE và DELETE - G&i th tc DB2XMLFUNCTION.XMLUPDATE Trong c hai trng hp, c#p nh#t hoc xóa tác ng mc tài liu; th#t v#y, toàn b tài liu XML c thay th vi mt ln c#p nh#t. Ví d, nu trong ví d di ây ta mun thay th phn t <state>, toàn b tài liu XML trên thc t b thay th. UPDATE clients SET contact=( xmlparse (documment ‘<Client> <address> <street>5401 Julio ave.</street> <city>San Jose</city> <state>CA</state> <zip>95116</zip> </address> <phone> <work>4084633000</work> <home>4081111111</home> <cell>4082222222</cell> </phone> Nhp môn H qun tr c s d liu DB2 195 </Client>’) ) WHERE id = 3227 16.3.9 Ch, mc XML Trong mt tài liu XML, các ch- mc có th c to ra theo các phn t, thuc tính hoc giá tr (vn bn). Sau ây là mt s ví d, gi s bng sau ã c to: CREATE TABLE customer(info XML) Và gi s h+ s sau ã c lu trong bng này: <customerinfo Cid=”1004”> <name>Matt Foreman</name> <addr country=”Canada”> <street>1596 Baseline</street> <city>Toronto</city> <state>Ontario</state> <zip>M3Z-5H9</zip> </addr> <phone type=”work”>905-555-4789</phone> <phone type=”home”>416-555-3376</phone> <assistant> <name>Peter Smith</name> <phone type=”home”>416-555-3426</phone> </assistant> </customerinfo> 1) Lnh này to mt ch- mc thên thuc tính “Cid” CREATE UNIQUE INDEX idx1 ON customer(info) GENERATE KEY USING xmlpattern ‘/customerinfo/@Cid’ AS sql DOUBLE 2) Lnh này to mt ch- mc trên phn t “name” CREATE UNIQUE INDEX idx2 ON customer(info) GENERATE KEY USING xmlpattern ‘/customerinfo/name’ AS sql VARCHAR(40) 3) Lnh này to mt ch- mc trên m&i phn t “name” CREATE UNIQUE INDEX idx3 ON customer(info) GENERATE KEY USING xmlpattern ‘//name’ AS sql VARCHAR(40) 4) Lnh này to mt ch- mc trên toàn b vn bn (tt c các giá tr). /ây là lnh không nên dùng, nó quá tn kém duy trì ch- mc khi thc hin các lnh c#p nh#t, xóa hoc chèn, và ch- mc s, rt ln Nhp môn H qun tr c s d liu DB2 196 CREATE UNIQUE INDEX idx4 ON customer(info) GENERATE KEY USING xmlpattern ‘//text()’ AS sql VARCHAR(40) Nhp môn H qun tr c s d liu DB2 197 Bài tp nhanh #12 – SQL/XML và XQuery Mc ích Bn ã thy nhiu ví d v cú pháp ca SQL/XML và XQuery và ã c gii thiu trong DB2 Command Editor và công c DB2 Developer Workbench. Trong bài t#p này, bn hãy kim tra s hiu bit ca bn v SQL/XML và XQuery bng vic thc hành vi các công c này. Ta s, s dng c s d liu “mydb” c to ra bng vic s dng tp kch bn table_creation.txt mà chúng ta ã gii thích trong các chng trc. Th tc 1. To c s d liu “mydb” và np d liu XML, nh ã trình bày chng trc 2. S dng hoc Ca s lnh hoc DWB: a. Tìm ra tt c các ni dung chú thích (comments) trong tài liu XML trong bng ITEMS bng hai cách, ch- s dng XQuery b. Ti sao khi ta s dng lnh SQL sau li không a ra cùng kt qu? SELECT comments FROM items c. Tìm ra ID và BRANDNAME ca các bn ghi mà tài liu XML ca nó có giá tr ca trng ResponseRequested là “No” Li gii 2a) xquery db2-fn:xmlcolumn(‘ITEMS.COMMENTS’) xquery db2-fn:sqlquery(“select comments from items”) 2b) Kt qu khác nhau là vì SQL tr li giá tr NULL khi không có giá tr, còn XQuery không tr li gì c. 2c) SELECT id, brandname FROM items WHERE XMLEXISTS(‘$c/Comments/Comment[ResponseRequested=”No” passing ITEMS.COMMENTS as “c” Nhp môn H qun tr c s d liu DB2 198 17 Chng 17 – Phát trin vi Java, PHP và Ruby Chng này s, tho lu#n nhng vn c bn ca vic phát trin ng dng trong Java, PHP và Ruby trên nn Rails s dng mt máy ch DB2. Mc ích ca chng này không nhm hng d%n v các ngôn ng trên, nhng nó cung cp thông tin thích hp trong vic s dng chúng vi DB2. 17.1 Phát trin ng dng b6ng Java Trình iu khin IBM DB2 cho JDBC (c bit n nh trình iu khin JCC) c xem là ti u i vi các máy ch DB2 trên tt c các nn tng. Tp db2jcc.jar (com.ibm.db2.jcc) bao g+m trình iu khin kiu 2 và kiu 4. Tp db2jcc.jar c.ng bao g+m bt c máy khách DB2 nào, hoc nó có th c thy (trình iu khin IBM DB2 cho JDBC và SQLJ) t* trang web DB2 Express-C (ibm.com/db2/express) 17.1.1 Trình iu khin JDBC kiu 2 (type 2) Trình iu khin JDBC kiu 2 yêu cu mt máy khách DB2 ã c cài t ni mà ng dng JDBC s, thc thi. Hình 17.1 minh h&a mt ng dng JDBC s dng trình iu khin kiu 2. Hình 17.1 – Trình iu khin JDBC kiu 2 Hình 17.2 a ra mt on mã lnh cho ta thy làm th nào thit l#p mt kt ni s dng trình iu khin JDBC kiu 2. Lu ý là URL không bao g+m hostname hoc thông tin v cng bi vì iu này c thc hin t* máy khách DB2. [...]... nút Execute, nh trong hình A.2 d i ây Nh p môn H qu n tr c s d li u DB2 Hình A.2 - Tìm ki m thông tin v 205 o n mã b$ l i D u ch m h"i (?) s, g&i n trình tr giúp (Help) c a DB2 D i ây là m t s ví d v kích ho t trình help, ví d nh#n c mã l i SQL là “ -104 ” T t c nh ng ví d d i ây là t ng ng db2 db2 db2 db2 db2 ? ? ? ? ? SQL 0104 N SQL104N SQL – 0104 SQL – 104 SQL – 104 N A.2 SQLCODE and SQLSTATE M t SQLCODE... ví d trên DB2 Zend [Core] th hi n s ti n d ng và cài t môi tr ng PHP m t cách d0 dàng, xem hình minh h&a 17.5, 17.6 và 17.7 Nh p môn H qu n tr c s d li u DB2 Hình 17.5 – C"a s qu n lý và i u khi n c a Zend [Core] Hình 17.6 – C"a s c u hình PHP c a Zend [Core] 202 Nh p môn H qu n tr c s d li u DB2 203 Hình 17.7 – C"a s c u hình PHP c a Zend 17.3 Phát tri n ng d ng Ruby trên n n Rails Ruby là m t ngôn... Paul Yip ISBN: 0-13 -100 772-6 5 Free Redbook: DB2 pureXML Guide Whei-Jen Chen, Art Sammartino, Dobromir Goutev, Felicity Hendricks, Ippei Komi, Ming-Pang Wei, Rav Ahuja, Matthias Nicola Tháng 8 n m 2007 http://www.redbooks.ibm.com/abstracts/sg247315.html?Open 6 Information on Demand – Introduction to DB2 9 New Features Paul Zikopoulos, George Baklarz, Chris Eaton, Leon Katsnelson ISBN -10: 0071487832 ISBN-13:...Nh p môn H qu n tr c s d li u DB2 199 Hình 17.2 – Thi t l p m t k t n i s" d ng trình i u khi n JDBC ki u 2 17.1.2 Trình i u khi n JDBC ki u 4 Trình i u khi n JDBC ki u 4 không yêu c u m t máy khách ph i k... này bao g+m: B cài t H ng d%n cài t và c u hình Ruby và Rails B cài t DB2 – Express C 9 và b công c kèm theo Các trình i u khi n (driver) cho DB2 Ruby và b thích h p cho DB2 Rails Ví d và bài t#p Nh p môn H qu n tr c s d li u DB2 Ph l c A – G/ r i 204 A Trong ph n này, chúng ta s, nói v cách làm th nào 0 gi i quy t (g( r i) nh ng v n có th g p ph i khi làm vi c v i DB2 Hình A.1 cung c p m t s + t ng... – Trình i u khi n JDBC ki u 4 Hình 17.4 a ra m t o n mã l nh cho ta th y làm th nào thi t l#p m t k t n i s d ng trình i u khi n JDBC ki u 4 L u ý là URL bao g+m c hostname ho c thông tin v c ng Nh p môn H qu n tr c s d li u DB2 200 Hình 17.4 – Thi t l p m t k t n i s" d ng trình i u khi n JDBC ki u 4 17.2 Phát tri n ng d ng b6ng PHP PHP (PHP Hypertext Preprocessor) là m t ngu+n m , là ngôn ng k ch... thì nh#t ký thông báo qu n tr (Administration Notification) là m t t p v n b n .nfy (ví d “db2inst.nfy”) 4 h i u hành Windows, t t c các khai báo qu n tr u c ghi vào Windows Event Log Nh p môn H qu n tr c s d li u DB2 206 Tham s c u hình DBM notifylevel cho phép ng c ghi l i i qu n tr ch- ra m c thông tin 0 - không có khai báo qu n tr nào c gi l i (không khuy n khích) 1 - l i n ng ho c không... i có ch a danh sách nh ng l i mà nó s a ch a c Khi phát tri n m t ng d ng m i chúng ta nên c#p nh#t nh ng b n s a l i m i nh t tránh nh ng v n có th x y ra trong khi làm vi c / xem phiên b n hi n Nh p môn H qu n tr c s d li u DB2 207 t i c a b n s a l i, ch&n About t* trình n Help, t* c a s l nh gõ “db2level” L u ý r ng, b n s a l i và s h tr t* IBM ch- có hi u l c trong DB2 Express–C khi b n mua b... tri n DB2 1.7 H tr k$ thu#t DB2 N u b n ã ng ký h tr k$ thu#t 12 tháng t* DB2 Express-C, b n có th download các b n vá l i t* Website này: http://www-306.ibm.com/software/data/db2/support/db2_9/ Nh p môn H qu n tr c s d li u DB2 Sách 1 Free Redbook: DB2 Express-C: The Developer Handbook for XML, PHP, C/C++, Java, and NET Whei-Jen Chen, John Chun, Naomi Ngan, Rakesh Ranjan, Manoj K Sardana, Tháng 8... http://pecl.php.net/package/PDO_ODBC K tn i n m t c s d li u DB2 ch a phân lo i (uncalalogued) /o n mã 17.1 cho th y làm th nào k tn i hai ph n m r ng ã c mô t trên n c s d li u DB2 s d ng m t trong Nh p môn H qu n tr c s d li u DB2 *o n mã 17.1 – K t n i 201 nm tc s d li u bên ngoài /o n mã 17.2 cung c p m t ví d cho m t ng d ng PHP r ng ibm_db2 *o n mã 17.2 – M t ng d ng PHP C u hình PHP cho jbm_db2 . d nh#n c mã li SQL là “ -104 ”. Tt c nhng ví d di ây là tng ng db2 ? SQL 0104 N db2 ? SQL104N db2 ? SQL – 0104 db2 ? SQL – 104 db2 ? SQL – 104 N A.2 SQLCODE and SQLSTATE. s, rt ln Nhp môn H qun tr c s d liu DB2 196 CREATE UNIQUE INDEX idx4 ON customer(info) GENERATE KEY USING xmlpattern ‘//text()’ AS sql VARCHAR(40) Nhp môn H qun tr c. 17.7. Nhp môn H qun tr c s d liu DB2 202 Hình 17.5 – C"a s qun lý và iu khin ca Zend [Core] Hình 17.6 – C"a s cu hình PHP ca Zend [Core] Nhp môn H qun