Chuyển đến nôi dung chính

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng (tiếng Anh).

Khi bạn đăng nhập lần đầu tiên, một bản trích ngang trên developerWorks sẽ được tạo ra. Chọn các thông tin trong trích ngang của developerWorks để hiển thị công khai, bạn có thể sửa lại thông tin này bất cứ lúc nào. Tên, họ và tên hiển thị sẽ đi kèm với nội dung mà bạn gửi lên.

Thông tin gửi đi được đảm bảo an toàn.

  • Đóng [x]

Lần đầu tiên bạn đăng nhập vào trang developerWorks, một bản trích ngang được tạo ra cho bạn, bạn cần phải chọn một tên để hiển thị. Tên hiển thị của bạn sẽ đi kèm theo các nội dung mà bạn đăng tải trên developerWorks.

Tên hiển thị cần có từ 3 đến 30 ký tự. Tên xuất hiện của bạn phải là duy nhất trên trang Cộng đồng developerWorks và vì lí do an ninh nó không phải là địa chỉ email của bạn.

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng (tiếng Anh).

Thông tin gửi đi được đảm bảo an toàn.

  • Đóng [x]

Các khái niệm cơ bản của DB2: Giới thiệu các hàm xuất bản SQL/XML

Roman Melnyk, Phát triển thông tin DB2
Tiến sĩ Roman B. Melnyk là thành viên cao cấp của nhóm phát triển thông tin của DB2, chuyên về quản trị cơ sở dữ liệu, tiện ích của DB2 và SQL. Trong hơn mười năm làm việc tại IBM, Roman đã viết và biên tập nhiều sách, bài viết về DB2 và các tài liệu liên quan khác. Roman là đồng tác giả của DB2 phiên bản 8: Hướng dẫn chính thức (Sách tham khảo kỹ thuật chuyên nghiệp của nhà xuất bản Prentice Hall, 2003), DB2: Sách tham khảo đầy đủ (Nhà xuất bản Osborne/McGraw-Hill, 2001), Chứng chỉ cơ bản về DB2 cho những người chưa biết gì (Nhà xuất bản Hungry Minds, 2001) và DB2 cho những người chưa biết gì (Nhà xuất bản IDG Books, 2000).

Tóm tắt:  Bạn có thể sử dụng các hàm xuất bản SQL/XML để tạo một tài liệu XML có nhãn từ những dữ liệu quan hệ. Cơ sở dữ liệu vạn năng DB2 bao gồm các hàm xuất bản SQL/XML được lập sẵn cho phép nó trở nên dễ dàng để xuất bản các tài liệu XML khi dùng các dữ liệu đã lưu trong cơ sở dữ liệu của DB2. Bài viết này giới thiệu bạn với các hàm xuất bản SQL/ XML, và bằng các ví dụ đang làm việc, chỉ cho bạn cách sử dụng các hàm này.

Xem thêm bài trong loạt bài này

Ngày:  22 04 2011
Mức độ:  Nhập môn Bản gốc tiếng Anh  tại đây
Hoạt động:  1160 lần đọc
Góp ý kiến:  


XML là Ngôn ngữ đánh dấu có thể mở rộng, một định dạng dữ liệu thông dụng để xuất bản, lưu trữ và chia sẻ các tài liệu có cấu trúc. XML có thể được sử dụng để trao đổi dữ liệu giữa các máy tính. Một văn bản được đánh dấu có thể được phân loại theo loại nút XML, chẳng hạn như "tài liệu", "phần tử", "thuộc tính", hoặc "văn bản" và nhiều loại khác. "Không gian tên" được gắn với tên của các nút, chẳng hạn như các phần tử và các thuộc tính.

SSQL/XML là mở rộng của chuẩn ngôn ngữ SQL (ANSI/ISO), gồm các hàm xuất bản XML để chuyển đổi dữ liệu quan hệ vào XML. Cơ sở dữ liệu của DB2 của IBM cho Linux, UNIX, và Windows (DB2 UDB) bao gồm các hàm xuất bản SQL/XML được lập sẵn để nó dễ dàng xuất bản dữ liệu UDB của DB2 vào một tài liệu XML. Các hàm này cho phép bạn tạo các tài liệu XML có nhãn bằng các đối tượng lớn của các ký tự (loại CLOB, một trong các kiểu dữ liệu có sẵn của UDB trong DB2). Bạn có thể sử dụng câu lệnh SELECT để lắp ráp các nút XML cần thiết, và thâu tóm các văn bản được đánh dấu nhờ định hướng xuất ra một tệp. Bạn cũng có thể sử dụng một câu lệnh INSERT để ghi các văn bản tạo ra vào một bảng.

Các hàm xuất bản SQL/XML

DB2 UDB phiên bản 8.2 hỗ trợ bảy hàm xuất bản SQL/XML:

Các phần sau sẽ giới thiệu cho bạn từng hàm xuất bản một. Mặc dù các loại của phần tử XML và các thuộc tính mà bạn có thể xây dựng với các hàm này hầu như không giới hạn, các ví dụ trong bài viết này tập trung vào các yếu tố bảng XML và các thuộc tính. Các ví dụ này yêu cầu phải nối cơ sở dữ liệu SAMPLE; nếu bạn chưa có cơ sở dữ liệu SAMPLE trong hệ thống của bạn, bạn có thể tạo ra nó bằng cách nhập lệnh db2sampl từ bất kỳ dấu nhắc lệnh nào.

XMLSERIALIZE

Hàm XMLSERIALIZE chuyển đổi một giá trị XML thành một chuỗi được lưu như các giá trị CHAR, VARCHAR, hay CLOB. XMLSERIALIZE là một hàm gán, trả về giá trị với kiểu CHAR, VARCHAR, hay CLOB. Các đối số phải là một biểu thức theo kiểu dữ liệu XML. Lưu ý rằng kiểu dữ liệu XML là sự biểu diễn bên trong của XML mà chỉ có thể được sử dụng làm đầu vào cho các hàm (như XMLSERIALIZE), các hàm chấp nhận kiểu dữ liệu này là đầu vào. XML là một kiểu dữ liệu tạm thời, không thể được lưu trong cơ sở dữ liệu (đến bản DB2 9, dữ liệu XML nguyên thủy có thể lưu trong cơ sở dữ liệu).

Tất cả các ví dụ trong bài viết này sử dụng hàm XMLSERIALIZE. Các hàm khác trả về các giá trị XML; các giá trị này được truyền vào hàm XMLSERIALIZE.

XMLELEMENT

Hàm XMLELEMENT kiến thiết nút phần tử có tên là XML. XMLELEMENT là một hàm vô hướng, trả về một giá trị kiểu XML. Đối số gồm tên của phần tử, các thông báo không gian tên tùy chọn, các thuộc tính tùy chọn, và số không hoặc nhiều biểu thức tạo nên nội dung của phần tử. Hàm XMLELEMENT có thể lồng nhau.

Liệt kê 1 cho thấy ví dụ về cách sử dụng hàm XMLELEMENT trong ngữ cảnh lồng để tạo bảng dữ liệu XML từ dữ liệu đã lưu trong các bảng EMPLOYEE và DEPARTMENT của cơ sở dữ liệu SAMPLE. Một số cuộc gọi tới hàm được sử dụng để tạo ra các phần tử (<td>) tại ô của bảng dữ liệu, lồng trong phần tử (<tr>) trong hàng của bảng dữ liệu. Liệt kê 1 cũng cho thấy kết xuất của truy vấn này. Bởi vì các chuỗi đầu ra khá dài, nên mỗi chuỗi trong ví dụ này hiện trên hai dòng. Bảng 1 cho thấy kết xuất được biến đổi sau khi nó đã được chèn vào một phần tử bảng XML.


Liệt kê 1. Sử dụng hàm XMLELEMENT để tạo ra các phần tử bảng XML từ các dữ liệu quan hệ

connect to sample
...

select xmlserialize(
  content xmlelement(
    name "tr",
      xmlelement(name "td", e.empno),
      xmlelement(name "td", e.firstnme),
      xmlelement(name "td", e.lastname),
      xmlelement(name "td", e.phoneno),
      xmlelement(name "td", d.deptno),
      xmlelement(name "td", substr(d.deptname, 1, 24))
  )
  as clob(120)
) as "result"
from employee e, department d
where e.workdept = d.deptno and year(hiredate) < 1970;


<tr><td>000010</td><td>CHRISTINE</td><td>HAAS</td><td>3978</td>
  <td>A00</td><td>SPIFFY COMPUTER SERVICE </td></tr>       
<tr><td>000050</td><td>JOHN</td><td>GEYER</td><td>6789</td>
  <td>E01</td><td>SUPPORT SERVICES        </td></tr>           
<tr><td>000110</td><td>VINCENZO</td><td>LUCCHESSI</td><td>3490</td>
  <td>A00</td><td>SPIFFY COMPUTER SERVICE </td></tr>   
<tr><td>000120</td><td>SEAN</td><td>O'CONNELL</td><td>2167</td>
  <td>A00</td><td>SPIFFY COMPUTER SERVICE </td></tr>       
<tr><td>000200</td><td>DAVID</td><td>BROWN</td><td>4501</td>
  <td>D11</td><td>MANUFACTURING SYSTEMS   </td></tr>          
<tr><td>000220</td><td>JENNIFER</td><td>LUTZ</td><td>0672</td>
  <td>D11</td><td>MANUFACTURING SYSTEMS   </td></tr>        
<tr><td>000230</td><td>JAMES</td><td>JEFFERSON</td><td>2094</td>
  <td>D21</td><td>ADMINISTRATION SYSTEMS  </td></tr>      
<tr><td>000250</td><td>DANIEL</td><td>SMITH</td><td>0961</td>
  <td>D21</td><td>ADMINISTRATION SYSTEMS  </td></tr>         
<tr><td>000280</td><td>ETHEL</td><td>SCHNEIDER</td><td>8997</td>
  <td>E11</td><td>OPERATIONS              </td></tr>      
<tr><td>000310</td><td>MAUDE</td><td>SETRIGHT</td><td>3332</td>
  <td>E11</td><td>OPERATIONS              </td></tr>       
<tr><td>000320</td><td>RAMLAL</td><td>MEHTA</td><td>9990</td>
  <td>E21</td><td>SOFTWARE SUPPORT        </td></tr>         
<tr><td>000340</td><td>JASON</td><td>GOUNOT</td><td>5698</td>
  <td>E21</td><td>SOFTWARE SUPPORT        </td></tr>         


connect reset


Bảng 1. Kết xuất tuần tự của hàm XMLELEMENT là sẵn sàng để dùng trong tài liệu XML
EMPNOFIRST_NAMELAST_NAMEPHONENODEPTNODEPARTMENT
000010CHRISTINEHAAS3978A00SPIFFY COMPUTER SERVICE
000050JOHNGEYER6789E01SUPPORT SERVICES
000110VINCENZOLUCCHESSI3490A00SPIFFY COMPUTER SERVICE
000120SEANO'CONNELL2167A00SPIFFY COMPUTER SERVICE
000200DAVIDBROWN4501D11MANUFACTURING SYSTEMS
000220JENNIFERLUTZ0672D11MANUFACTURING SYSTEMS
000230JAMESJEFFERSON2094D21ADMINISTRATION SYSTEMS
000250DANIELSMITH0961D21ADMINISTRATION SYSTEMS
000280ETHELSCHNEIDER8997E11OPERATIONS
000310MAUDESETRIGHT3332E11OPERATIONS
000320RAMLALMEHTA9990E21SOFTWARE SUPPORT
000340JASONGOUNOT5698E21SOFTWARE SUPPORT

XMLFOREST

Hàm XMLFOREST kiến thiết một xâu (rừng) các nút phần tử XML. XMLFOREST là một hàm vô hướng trả về một giá trị với cùng loại dữ liệu trong XML như các đối số.

Liệt kê 2 cho thấy ví dụ về cách sử dụng hàm XMLFOREST lồng nhau trong một hàm XMLELEMENT để tạo ra bảng dữ liệu XML. Một lần gọi hàm XMLFOREST được dùng để tạo ra các phần tử (<td>) của ô trong bảng dữ liệu, lồng trong các (<tr>) của hàng trong bảng. Liệt kê 2 cũng cho thấy bản ghi đầu tiên thu được từ truy vấn này, lại hiện trên hai dòng. Bảng 2 là kết xuất được biến đổi sau khi nó đã được chèn vào một phần tử bảng XML.


Liệt kê 2. Sử dụng hàm XMLFOREST để tạo các phàn tử bảng XML từ các dữ liệu quan hệ

connect to sample
...

select xmlserialize(
  content xmlelement(
    name "tr",
      xmlforest(
        e.empno as "td",
        e.firstnme as "td",
        e.lastname as "td",
        e.phoneno as "td",
        d.deptno as "td",
        d.deptname as "td"
      )
  )
  as clob(144)
) as "result"
from employee e, department d
where e.workdept = d.deptno and year(hiredate) < 1970;


<tr><td>000010</td><td>CHRISTINE</td><td>HAAS</td><td>3978</td>
  <td>A00</td><td>SPIFFY COMPUTER SERVICE DIV.</td></tr>       
...


connect reset


Bảng 2. Các kết xuất tuần tự từ hàm XMLFOREST là sẵn sàng để dùng trong một tài liệu XML
EMPNOFIRST_NAMELAST_NAMEPHONENODEPTNODEPARTMENT
000010CHRISTINEHAAS3978A00SPIFFY COMPUTER SERVICE DIV.
000050JOHNGEYER6789E01SUPPORT SERVICES
000110VINCENZOLUCCHESSI3490A00SPIFFY COMPUTER SERVICE DIV.
000120SEANO'CONNELL2167A00SPIFFY COMPUTER SERVICE DIV.
000200DAVIDBROWN4501D11MANUFACTURING SYSTEMS
000220JENNIFERLUTZ0672D11MANUFACTURING SYSTEMS
000230JAMESJEFFERSON2094D21ADMINISTRATION SYSTEMS
000250DANIELSMITH0961D21ADMINISTRATION SYSTEMS
000280ETHELSCHNEIDER8997E11OPERATIONS
000310MAUDESETRIGHT3332E11OPERATIONS
000320RAMLALMEHTA9990E21SOFTWARE SUPPORT
000340JASONGOUNOT5698E21SOFTWARE SUPPORT

XMLATTRIBUTES

Hàm XMLATTRIBUTES kiến thiết một hay nhiều nút thuộc tính XML cho một nút phần tử XML. XMLATTRIBUTES là một hàm vô hướng, trả về giá trị kiểu XML.

Liệt kê 3 cho thấy ví dụ về cách sử dụng hàm XMLATTRIBUTES kết hợp với hàm XMLELEMENT để tạo bảng dữ liệu XML. Trong trường hợp này, ba trong số các phần tử (<td>) của ô của bảng được tạo ra nhận thuộc tính căn chỉnh cột ("align =" center"'). Liệt kê 3 cũng cho thấy bản ghi đầu tiên được trả lại bằng truy vấn này, một lần nữa xuất hiện trên hai dòng. Bảng 3 là một số các kết xuất được biến đổi sau khi nó đã được chèn vào một phần tử bảng XML.


Liệt kê 3. Kiến thiết các nút thuộc tính XML cho một nút phần tử XML

connect to sample
...

select xmlserialize(
  content xmlelement(
    name "tr",
      xmlelement(name "td", xmlattributes('center' as "align"), e.empno),
      xmlelement(name "td", e.firstnme),
      xmlelement(name "td", e.lastname),
      xmlelement(name "td", xmlattributes('center' as "align"), e.phoneno),
      xmlelement(name "td", xmlattributes('center' as "align"), d.deptno),
      xmlelement(name "td", substr(d.deptname, 1, 24))
  )
  as clob(180)
) as "result"
from employee e, department d
where e.workdept = d.deptno and year(hiredate) < 1970;


<tr><td
		align="center">000010</td><td>CHRISTINE</td><td>HAAS</td>
  <td
		align="center">3978</td><td
		align="center">A00</td>
  <td>SPIFFY COMPUTER SERVICE </td></tr>                      
...


connect reset

Trong ví dụ này, hàm XMLELEMENT đang gọi hàm XMLATTRIBUTES để xác định thuộc tính căn chỉnh cột cho ba cột đầu ra. Bảng 3 là kết xuất được xếp tuần tự.


Bảng 3. Đoạn trích kết xuất được xếp tuần tự từ hàm XMLELEMENT
EMPNOFIRST_NAMELAST_NAMEPHONENODEPTNODEPARTMENT
000010CHRISTINEHAAS3978A00SPIFFY COMPUTER SERVICE
000050JOHNGEYER6789E01SUPPORT SERVICES
000110VINCENZOLUCCHESSI3490A00SPIFFY COMPUTER SERVICE
000120SEANO'CONNELL2167A00SPIFFY COMPUTER SERVICE
000200DAVIDBROWN4501D11MANUFACTURING SYSTEMS
000220JENNIFERLUTZ0672D11MANUFACTURING SYSTEMS

XMLCONCAT

Hàm XMLCONCAT ghép hai hoặc nhiều giá trị XML (các biểu thức của kiểu dữ liệu XML). XMLCONCAT là một hàm vô hướng, trả về giá trị cùng loại dữ liệu trong XML như các đối số.

Liệt kê 4 cho thấy ví dụ về cách sử dụng hàm XMLCONCAT cùng với hàm XMLELEMENT để tạo ra bảng dữ liệu XML. Trong trường hợp này, hai phần tử (<td>) ở ô trong bảng đã tạo ra được nối nhau. Liệt kê 4 cũng cho thấy bản ghi đầu tiên được trả lại nhờ truy vấn này. Bảng 4 là một số kết xuất được biến đổi sau khi nó đã được chèn vào một phần tử bảng XML.


Liệt kê 4. Hàm XMLCONCAT có thể được sử dụng để ghép các giá trị XML, chẳng hạn trong trường hợp này, là hai nút phần tử XML

connect to sample
...

select xmlserialize(
  content xmlelement(
    name "tr", xmlconcat(
      xmlelement(name "td", firstnme),
      xmlelement(name "td", lastname)
    )
  )
  as clob(48)
) as "result"
from employee
order by lastname;


<tr><td>BRUCE</td><td>ADAMSON</td></tr>         
...


connect reset

Trong ví dụ này, hàm XMLELEMENT gọi hàm XMLCONCAT để ghép một cặp các nút phần tử XML lồng. Bảng 4 cho thấy kết xuất xếp tuần tự.


Bảng 4. Đoạn trích kết xuất được xếp tuần tự từ hàm XMLELEMENT
FIRST_NAMELAST_NAME
BRUCEADAMSON
DAVIDBROWN
JOHNGEYER
JASONGOUNOT
CHRISTINEHAAS
EILEENHENDERSON
JAMESJEFFERSON
SYBILJOHNSON
WILLIAMJONES
SALLYKWAN
WINGLEE
VINCENZOLUCCHESSI

XMLAGG

Hàm XMLAGG gộp các giá trị XML thành các mục xâu theo giá trị XML thu được. XMLAGG là một hàm (cột) gộp.

Liệt kê 5 cho thấy ví dụ về cách sử dụng hàm XMLAGG cùng với các hàm XMLELEMENT để tạo bảng dữ liệu XML. Trong trường hợp này, ba phần tử (<td>) tại ô của bảng tạo ra được gộp đối với mỗi thể hiện của phần tử (<tr>) của hàng trong bảng. Liệt kê 5 cũng cho thấy bản ghi đầu tiên thu được từ truy vấn này. Bảng 5 là một số các kết xuất được biến đổi sau khi nó đã được chèn vào một phần tử bảng XML.


Liệt kê 5. Hàm XMLAGG có thể được sử dụng để gộp các giá trị XML, trong trường hợp này, là ba nút phần tử XML

connect to sample
...

select xmlserialize(
  content xmlelement(
    name "tr", xmlattributes(workdept as "id"),
      xmlagg(
        xmlelement(name "td", lastname) order by lastname
      )
  )
  as clob(72)
) as "result"
from employee
group by workdept having count(*) = 3;


<tr id="A00"><td>HAAS</td><td>LUCCHESSI</td><td>O'CONNELL</td></tr>     
<tr id="C01"><td>KWAN</td><td>NICHOLLS</td><td>QUINTANA</td></tr>       


connect reset

Trong ví dụ này, hàm XMLELEMENT đang gọi hàm XMLAGG để gộp các nút phần tử XML lồng nhau. Bảng 5 cho thấy kết xuất xếp tuần tự.


Bảng 5. Kết xuất được xếp tuần tự của hàm XMLELEMENT
DEPTNO123
A00HAASLUCCHESSIO'CONNELL
C01KWANNICHOLLSQUINTANA

XMLNAMESPACES

Hàm XMLNAMESPACES kiến thiết các khai báo không gian tên của XML từ các đối số. Các khai báo nằm trong phạm vi của các phần tử do các hàm XMLELEMENT và XMLFOREST tạo nên. XMLNAMESPACES là một hàm vô hướng, trả về giá trị kiểu XML.

Một không gian tên XML có thể được dùng để bổ nghĩa một phần tử hoặc tên của một thuộc tính bằng cách kết hợp nó với trình định danh tài nguyên thông dụng cụ thể (URI). Nó là tập các tên được sử dụng trong các tài liệu XML, như các loại phần tử và tên của thuộc tính. Không gian tên XML đảm bảo rằng các phần tử và thuộc tính có tên thông dụng có phạm vi vượt quá một tài liệu đã cho, và được thiết kế để tránh hiểu sai khi các ứng dụng đang xử lý các thẻ và các thuộc tính tương tự.

Liệt kê 6 cho thấy ví dụ về cách sử dụng hàm XMLNAMESPACES cùng với hàm XMLELEMENT. Trong trường hợp này, nút phần tử XML tên là 'emp’, lồng trong cả ô trong bảng (<td>) và hàng trong bảng (<tr>), có một không gian tên mặc định đã được thiết lập là xâu rỗng, điều này tương đương với việc không có không gian tên mặc định. Liệt kê 6 cũng cho thấy hai bản ghi đầu tiên thu được bằng truy vấn này. Bảng 6 là một số các kết xuất được biến đổi sau khi nó đã được chèn vào một phần tử bảng XML.


Liệt kê 6. Hàm XMLNAMESPACES có thể được sử dụng để kiến thiết các khai báo của không gian tên của XML.

connect to sample
...

select xmlserialize(
  content xmlelement(
    name "tr",
      xmlelement(
        name "td",
          xmlelement(
            name "emp",
              xmlnamespaces(
                no default
              ), lastname
          )
      )
  )
  as clob(48)
) as "result"
from employee
order by lastname;


<tr><td><emp xmlns="">ADAMSON</emp></td></tr>   
<tr><td><emp xmlns="">BROWN</emp></td></tr>     
...


connect reset

Trong thí dụ này, các XMLELEMENT gọi hàm XMLNAMESPACES để kiến thiết không gian tên mặc định, mà đã được thiết lập với các xâu rỗng. Bảng 6 cho thấy đầu ra tuần tự.


Bảng 6. Trích đoạn đầu ra tuần tự từ hàm XMLELEMENT
EMP_NAME
<emp xmlns="">ADAMSON</emp>
<emp xmlns="">BROWN</emp>

Tóm tắt

Các hàm xuất bản SQL/XML được lập sẵn của UDB trong DB2 có thể được dùng để tạo ra các tài liệu XML với nhãn từ những dữ liệu quan hệ. Bài viết này đã giới thiệu cho bạn một số hàm xuất bản SQL/XML (các hàm gán, vô hướng và gộp), và cho bạn thấy các ví dụ đang làm việc mà bạn có thể tự mình chạy và xây dựng theo. Để tìm hiểu thêm về các hàm xuất bản SQL/XML, hoặc có thêm thông tin chi tiết về bất cứ chủ đề nào được đề cập trong bài viết này, bạn hãy truy cập Trung tâm Thông tin của DB2.


Tài nguyên

Học tập

Lấy sản phẩm và công nghệ

Thảo luận

Đôi nét về tác giả

Tiến sĩ Roman B. Melnyk là thành viên cao cấp của nhóm phát triển thông tin của DB2, chuyên về quản trị cơ sở dữ liệu, tiện ích của DB2 và SQL. Trong hơn mười năm làm việc tại IBM, Roman đã viết và biên tập nhiều sách, bài viết về DB2 và các tài liệu liên quan khác. Roman là đồng tác giả của DB2 phiên bản 8: Hướng dẫn chính thức (Sách tham khảo kỹ thuật chuyên nghiệp của nhà xuất bản Prentice Hall, 2003), DB2: Sách tham khảo đầy đủ (Nhà xuất bản Osborne/McGraw-Hill, 2001), Chứng chỉ cơ bản về DB2 cho những người chưa biết gì (Nhà xuất bản Hungry Minds, 2001) và DB2 cho những người chưa biết gì (Nhà xuất bản IDG Books, 2000).

Hướng dẫn về "Phản ánh nội dung không thích hợp

Phản ánh về nội dung không thích hợp

Cám ơn. Nhận xét này sẽ được báo cho người chủ mục tin.


Hướng dẫn về "Phản ánh nội dung không thích hợp

Phản ánh về nội dung không thích hợp

Gửi phản ánh bị lỗi. Làm ơn thử lại sau.


developerWorks: Đăng nhập

Nếu bạn chưa có định danh (ID) và mật khẩu của IBM, đăng ký tại đây.


Bạn quên định danh?


Bạn quên mật khẩu?
Đổi mật khẩu


Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng (tiếng Anh).

 


Khi bạn đăng nhập lần đầu tiên, một bản trích ngang trên developerWorks sẽ được tạo ra. Chọn các thông tin trong trích ngang của developerWorks để hiển thị công khai, bạn có thể sửa lại thông tin này bất cứ lúc nào. Tên, họ và tên hiển thị sẽ đi kèm với nội dung mà bạn gửi lên.

Choose your display name

Lần đầu tiên bạn đăng nhập vào trang developerWorks, một bản trích ngang được tạo ra cho bạn, bạn cần phải chọn một tên để hiển thị. Tên hiển thị của bạn sẽ đi kèm theo các nội dung mà bạn đăng tải trên developerWorks.

Tên hiển thị cần có từ 3 đến 30 ký tự. Tên xuất hiện của bạn phải là duy nhất trên trang Cộng đồng developerWorks và vì lí do an ninh nó không phải là địa chỉ email của bạn.

(Độ dài phải từ 3 đến 31 ký tự)


Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng (tiếng Anh).

 


Chấm điểm bài này

Bình luận

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=70
Zone=Information Management
ArticleID=647622
ArticleTitle=Các khái niệm cơ bản của DB2: Giới thiệu các hàm xuất bản SQL/XML
publish-date=04222011
author1-email=melnyk@ca.ibm.com
author1-email-cc=