Tạo các tập lệnh một cách hiệu quả hơn trong trình soạn thảo SQL và XQuery

Tận dụng các tính năng mới trong trình soạn thảo

Trình soạn thảo SQL và XQuery đã được tăng cường với các tính năng mới có thể giúp bạn phát triển các tập lệnh SQL của bạn hiệu quả hơn. Các tính năng như ô cửa sổ lệnh và thanh công cụ của trình soạn thảo đặt các kiểm soát, tùy chọn, và các nút mà bạn chỉ cần nhấp chuột. Bài viết này mô tả những tính năng mới và cách sử dụng chúng một cách hiệu quả.

Hardik Patel, Kỹ sư phần mềm, IBM

Hardik Patel là kỹ sư phần mềm tại phòng thí nghiệm của IBM ở Lenexa, Kansas. Anh đã làm việc với các đội của Xưởng phát triển Optim và bộ công cụ di trú của IBM (MTK). Hiện nay, anh chịu trách nhiệm cho các thành phần của trình soạn thảo SQL và XQuery của các sản phẩm Optim.



Mark Kitanga, Phát triển thông tin, IBM

Mark Kitanga là cộng tác viên bổ sung Phòng thí nghiệm thung lũng Silicon của IBM tại San Jose, California. Mark phát triển thông tin cho xưởng dữ liệu của IBM trong nhóm Công nghệ người sử dụng. Hiện nay anh đang theo đuổi bằng thạc sĩ về hùng biện và truyền thông chuyên nghiệp tại trường đại học bang New Mexico.



08 12 2011 (Xuất bản lần đầu tiên vào ngày 19 09 2012)

Giới thiệu

Trình soạn thảo SQL và XQuery giúp bạn tạo và chạy các tập lệnh SQL có chứa các câu lệnh SQL và XQuery. Tính năng của trình soạn thảo bao gồm làm nổi bật cú pháp, định dạng SQL, các trình trợ giúp nội dung, phân tích cú pháp và xác nhận hợp lệ và xác nhận hợp lệ ngữ nghĩa.

Bạn có thể xác nhận hợp lệ cú pháp trong tập lệnh với nhiều trình phân tích cơ sở dữ liệu và chạy các tập lệnh một cách tuần tự với nhiều kết nối cơ sở dữ liệu. Ngoài ra, bạn có thể xuất khẩu các tập lệnh SQL ra ngoài và nhập khẩu các tập lệnh SQL vào trình soạn thảo. Thông qua trình soạn thảo, bạn cũng có thể lên lịch trình để thực thi tập lệnh và truy cập vào các công cụ của IBM, các công cụ này giúp bạn phân tích và tinh chỉnh hiệu năng của các truy vấn SQL của bạn.

Bài viết này mô tả việc sử dụng hiệu quả các tính năng mới để giúp bạn phát triển các tập lệnh SQL của bạn hiệu quả hơn. Các tính năng trong trình soạn thảo có sẵn cho tất cả các máy chủ dữ liệu được hỗ trợ trong bàn làm việc, ngoại trừ bất kỳ máy chủ dữ liệu nào được đặc biệt lưu ý là không được hỗ trợ.

Trình soạn thảo SQL và XQuery có sẵn trong các sản phẩm dựa trên Eclipse của IBM sau đây:

  • IBM Data Studio (Xưởng dữ liệu IBM)
  • InfoSphere Data Architect (Kiến trúc sư dữ liệu InfoSphere)
  • InfoSphere Optim Query Tuner (Trình tinh chỉnh truy vấn Optim InfoSphere)

Phần Tài nguyện có chứa các liên kết đến các chủ đề trong Trung tâm thông tin quản lý dữ liệu tích hợp, trung tâm này mô tả các sản phẩm trên.

Ghi chú của Ban biên tập: Bài viết này là bản cập nhật của bản xuất bản lần đầu vào tháng Mười, 2010 của Harry Gegoni Patel và Chat Chatterton.


Tạo một kịch bản lệnh SQL

Bạn có thể tạo ra tập lệnh SQL từ những nơi khác nhau tại bàn làm việc. Với bài viết này, chúng được tạo ra từ khung nhìn (Trình thám hiểm nguồn dữ liệu). Để tìm hiểu các phương pháp tiếp cận khác để tạo tập lệnh, hãy xem tạo câu lệnh SQL và XQuery trong trình soạn thảo SQL và XQuery ở phần Tài nguyên.

Trong bài viết này, tập lệnh được tạo ra trong cơ sở dữ liệu SAMPLE trên một kết nối dữ liệu DB2 cho Linux, UNIX và Windows. Nếu bạn muốn tìm hiểu các quá trình được mô tả trong bài viết này, bạn có thể sử dụng cơ sở dữ liệu của riêng bạn hoặc cơ sở dữ liệu SAMPLE. Tổ chức của bạn có thể cung cấp cơ sở dữ liệu SAMPLE trên máy chủ mà bạn có thể kết nối. Nếu bạn muốn tạo ra một bản sao cục bộ của cơ sở dữ liệu SAMPLE trên hệ thống của bạn, thì bạn hãy xem liên kết Tạo các cơ sở dữ liệu mẫu ở phần Tài nguyên.

Sau khi kết nối tới cơ sở dữ liệu trong khung nhìn Data Source Explorer, bạn đã sẵn sàng để tạo ra tập lệnh SQL. Nhấp vào kết nối cơ sở dữ liệu, và sau đó nhấp vào nút New SQL Script trên thanh công cụ, như trong hình 1.

Hình 1. Nút thanh công cụ New SQL Script trong khung nhìn Data Source Explorer
Nút thanh công cụ New SQL Script trong khung nhìn Data Source Explorer.

Tập lệnh rỗng mở ra trong trình soạn thảo SQL và XQuery cho kết nối đã chọn. Các thông tin kết nối được hiển thị trên thanh công cụ và trên trang Configuration (cấu hình) của ô cửa sổ Command (lệnh) như trong hình 2. Ô cửa sổ lệnh là cửa sổ dạng tai phiếu mà bạn có thể hiển thị hoặc ẩn trong khi làm việc trong trình soạn thảo, trình này kiểm soát cấu hình, xác thực, những trình đăng ký đặc biệt và các số đo hiệu năng cho các tập lệnh của bạn.

Hình 2. Kết nối cơ sở dữ liệu được hiển thị trong thanh công cụ trình soạn thảo và trang cấu hình
Kết nối cơ sở dữ liệu được hiển thị trong thanh công cụ trình soạn thảo và trang cấu hình

Bạn có thể hiển thị hoặc ẩn các thông tin kết nối tới cơ sở dữ liệu trong thanh công cụ trình soạn thảo bằng cách nhấn vào mũi tên điều khiển bên cạnh kết nối, như trong hình 3.

Hình 3. Thông tin kết nối cơ sở dữ liệu được hiển thị trong thanh công cụ trình soạn thảo
Thông tin kết nối cơ sở dữ liệu được hiển thị trong thanh công cụ trình soạn thảo.

Thay đổi các kết nối cơ sở dữ liệu

Khi bạn tạo tập lệnh SQL thông qua một kết nối trong khung nhìn Data Source Explorer, thì tập lệnh được kết nối với cơ sở dữ liệu liên quan. Các thông tin trong thanh công cụ trình soạn thảo cho thấy thông tin về kết nối và cơ sở dữ liệu.

Khi bạn đang phát triển tập lệnh SQL của mình, chính cơ sở dữ liệu mà tập lệnh được kết nối đến sẽ quyết định những thông tin có sẵn trong hỗ trợ nội dung, một tính năng của trình soạn thảo có thể giúp bạn phát triển các câu lệnh SQL của mình. Nhà cung cấp và phiên bản cơ sở dữ liệu xác định việc hợp lệ cú pháp của câu lệnh SQL của bạn. Kết nối cơ sở dữ liệu cũng có thể ảnh hưởng đến kết quả khi bạn chạy tập lệnh SQL.

Bạn có thể thay đổi cơ sở dữ liệu mà tập lệnh được kết nối đến bằng cách nhấn vào nút Select trên trang cấu hình. Nếu bạn có kết nối đến hai hoặc nhiều cơ sở dữ liệu trong khung nhìn Data Source Explorer, thì hãy chọn hồ sơ kết nối khác trong trình hướng dẫn Select Connection Profile (Chọn hồ sơ kết nối) như trong hình 4.

Hình 4. Hồ sơ kết nối khác được lựa chọn trong trình hướng dẫn Chọn hồ sơ kết nối (Select Connection Profile)
Hồ sơ kết nối khác được lựa chọn trong trình hướng dẫn Chọn hồ sơ kết nối.

Ngoài ra, nếu bạn đang kết nối tới chỉ một cơ sở dữ liệu, bạn có thể nhấp vào New trong trình hướng dẫn Select Connection Profile (Chọn hồ sơ kết nối) và sau đó định nghĩa một kết nối mới trong trình hướng dẫn New Connection Profile (Hồ sơ kết nối mới).

Để biết thêm thông tin về việc thay đổi kết nối cơ sở dữ liệu, hãy xem Thay đổi kết nối cơ sở dữ liệu trong trình soạn thảo SQL và XQuery tại phần Tài nguyên.

Bạn cũng có thể ngắt kết nối tập lệnh với cơ sở dữ liệu. Điều này rất hữu ích, ví dụ: khi bạn muốn làm việc ngắt tuyến (offline). Để ngắt kết nối tập lệnh, chọn No Connection (Không kết nối) trong danh sách thả xuống, như trong hình 5.

Hình 5. Ngắt kết nối tập lệnh với cơ sở dữ liệu
Ngắt kết nối tập lệnh với cơ sở dữ liệu

Sau khi bạn chọn Không kết nối, ô cửa sổ lệnh được ẩn tự động, như trong hình 6, nhưng bạn có thể khôi phục lại ô này bất cứ lúc nào..

Hình 6. Không có kết nối tới cơ sở dữ liệu và cửa sổ lệnh đã ẩn đi
Không có kết nối tới cơ sở dữ liệu và cửa sổ lệnh đã ẩn đi.

Khi bạn muốn kết nối lại tới cơ sở dữ liệu, nhấp vào liên kết kết No Connection trên thanh công cụ của trình soạn thảo và cửa sổ lệnh được hiển thị tự động. Chọn kết nối trong danh sách thả xuống mà bạn muốn kết nối đến.

Để biết thêm thông tin về việc ngắt kết nối tập lệnh tới một cơ sở dữ liệu, xem Ngắt kết nối các tập lệnh từ cơ sở dữ liệu trong trình soạn thảo SQL và XQuery tại phần Tài nguyên.


Phát triển tập lệnh của bạn

Trang Validation (xác nhận hợp lệ) của ô cửa sổ Command, như trong hình 7, chứa các thành phần điều khiển mà bạn có thể sử dụng trong khi đang tạo ra các câu lệnh trong tập lệnh SQL của mình. Bạn có thể xác nhận hợp lệ hoặc cú pháp hoặc ngữ nghĩa, hoặc cả hai trong các câu lệnh mà bạn đang tạo ra. Bạn cũng có thể thay đổi dấu kết thúc câu lệnh cho tất cả các câu lệnh trong tập lệnh.

Hình 7. Trang xác nhận hợp lệ trong cửa sổ lệnh
Trang xác nhận hợp lệ trong cửa sổ lệnh.

Xác nhận hợp lệ cú pháp trong câu lệnh SQL và XQuery

Khi bạn nhập câu lệnh SQL và XQuery vào trong trình soạn thảo thì cú pháp trong câu lệnh được kiểm tra hợp lệ. Các câu lệnh được phân tích để xác định xem từ khoá và vị trí của chúng trong các câu lệnh có hợp lệ hay không.

Theo mặc định, tùy chọn Validate statement syntax for current configuration (Xác nhận hợp lệ cú pháp câu lệnh cho cấu hình hiện tại) đã được đánh dấu chọn, điều đó có nghĩa là trình phân tích cú pháp được lựa chọn dựa vào kiểu cơ sở dữ liệu mà tập lệnh được kết nối tới. Ví dụ: Giả sử bạn phát triển tập lệnh tạo ra bảng SALES với chỉ mục trong lược đồ DB2ADMIN của cơ sở dữ liệu SAMPLE. Trong hình 8, tập lệnh cho thấy không có lỗi cú pháp với trình phân tích cú pháp của DB2 cho Linux, UNIX và Windows (phiên bản 9.7) đã chọn.

Hình 8. Câu lệnh đã kiểm tra hợp lệ với kết nối hiện tại gắn với tập lệnh
Câu lệnh đã kiểm tra hợp lệ với kết nối hiện tại gắn với tập lệnh

Có thể bạn muốn xác nhận hợp lệ tập lệnh đối với một kiểu cơ sở dữ liệu khác, ví dụ: Nếu bạn đang có kế hoạch xuất tập lệnh để sử dụng trong kiểu cơ sở dữ liệu khác. Bạn có thể chọn trình phân tích cú pháp khác mà không phải thay đổi cơ sở dữ liệu mà tập lệnh được kết nối tới. Khi bạn chọn tùy chọn Validate statement syntax (Xác nhận hợp lệ cú pháp của câu lệnh) và chọn một trình phân tích cú pháp khác trong danh sách thả xuống, thì các câu lệnh trong tập lệnh được xác nhận hợp lệ với trình phân tích cú pháp mà bạn chọn. Hiện nay các phân tích cú pháp cho các kiểu cơ sở dữ liệu sau đây có sẵn trong trình soạn thảo SQL và XQuery:

  • DB2 cho Linux, UNIX và Windows (phiên bản 9.7)
  • DB2 cho Linux, UNIX và Windows (phiên bản 9.8)
  • DB2 cho z/OS (phiên bản 10)
  • DB2 cho z/OS (phiên bản 9)
  • DB2 cho i5/OS
  • Máy chủ Dynamic của Informix

Ghi chú: Việc kiểm tra cú pháp đặc thù cho từng phiên bản chỉ có sẵn cho DB2 cho Linux, UNIX và Windows và DB2 cho z/OS, có nghĩa là bất kỳ phiên bản DB2 nào cho Linux, UNIX và Windows trước phiên bản 9.7 vẫn sẽ sử dụng trình phân tích cú pháp của phiên bản 9.7 và bất kỳ phiên bản nào sau phiên bản 9.8 sẽ sử dụng trình phân tích cú pháp của phiên bản 9.8. Cũng tương tự như vậy đối với DB2 cho z/OS trước phiên bản 9 và sau phiên bản 10. DB2 cho i5/OS và Informix Dynamic Server sẽ sử dụng trình phân tích cú pháp mới nhất được hỗ trợ.

Ví dụ: Giả sử bạn muốn sử dụng tập lệnh để tạo ra các bảng SALES với các chỉ mục của nó trong cơ sở dữ liệu trong DB2 cho máy chủ z/OS. Để xác nhận hợp lệ tập lệnh này cho cơ sở dữ liệu đích, bạn chỉ cần thay đổi trình phân tích cú pháp của DB2 cho z/OS (phiên bản 10), và bạn có thể làm điều này trong khi tập lệnh vẫn đang được kết nối tới cơ sở dữ liệu SAMPLE.

Trong trường hợp này, mệnh đề ALLOW REVERSE SCANS trong câu lệnh CREATE INDEX là không hợp lệ với trình phân tích cú pháp DB2 cho z/OS (phiên bản 10). Trình soạn thảo báo lỗi xác nhận hợp lệ với các dấu hiệu màu đỏ ở lề trái và lề phải và gạch dưới cú pháp không hợp lệ bằng đường màu đỏ lượn sóng. Như trong hình 9, bạn có thể thấy lời giải thích của lỗi cú pháp trong một cửa sổ nổi lên bằng cách di chuyển con trỏ trỏ vào điểm đánh dấu lỗi ở bên lề.

Hình 9. Các lệnh của tập lệnh được xác nhận hợp lệ với trình phân tích cú pháp DB2 cho z/OS (phiên bản 10)
Các lệnh của tập lệnh được xác nhận hợp lệ với trình phân tích cú pháp DB2 cho z/OS (phiên bản 10).

Nếu bạn thích, bạn có thể ngừng xác nhận hợp lệ cú pháp bằng cách chọn No validation (Không xác nhận hợp lệ) trong danh sách Validate statement syntax (xác nhận hợp lệ cú pháp lệnh).

Nếu bạn đang làm việc ngắt tuyến (có nghĩa là, No Connection (Không kết nối) được lựa chọn trên trang Configuration), bạn vẫn có thể xác nhận hợp lệ cú pháp trong các câu lệnh SQL và XQuery mà bạn đang viết. Trên trang Validation, chọn trình phân tích cú pháp cho các kiểu cơ sở dữ liệu thích hợp, như thể hiện trong hình 10. Sau khi bạn xác nhận hợp lệ cho một kiểu cơ sở dữ liệu, bạn có thể tiếp tục xác nhận hợp lệ tập lệnh với trình phân tích cú pháp cho kiểu cơ sở dữ liệu khác.

Hình 10. Xác nhận hợp lệ các câu lệnh SQL ngắt tuyến, không kết nối cơ sở dữ liệu.
Xác nhận hợp lệ các câu lệnh SQL ngắt tuyến, không kết nối cơ sở dữ liệu.

Để biết thêm thông tin về việc xác nhận hợp lệ câu lệnh SQL và XQuery, hãy xem mục Xác nhận hợp lệ câu lệnh SQL và XQuery tại phần Tài nguyên.

Xác nhận hợp lệ ngữ nghĩa trong câu lệnh SQL

Bạn cũng có thể xác nhận hợp lệ các tham chiếu đến các bảng, cột, và các thủ tục đã lưu sẵn trong cơ sở dữ liệu mà tập lệnh được kết nối tới. Các tham chiếu tới đối tượng cơ sở dữ liệu được xác nhận hợp lệ chỉ trong các câu lệnh SQL DML. Trạng thái của tùy chọn Validate database object references (xác nhận hợp lệ các tham chiếu tới đối tượng cơ sở dữ liệu) sẽ quyết định việc có xảy ra xác nhận hợp lệ hay không khi bạn gõ nhập.

Xác nhận hợp lệ ngữ nghĩa chỉ gắn với cơ sở dữ liệu mà tập lệnh hiện đang kết nối tới. Trình phân tích cú pháp được lựa chọn trong danh sách Xác nhận hợp lệ cú pháp của câu lệnh, không có hiệu lực gì đối với xác nhận hợp lệ ngữ nghĩa. Bạn có thể đánh dấu chọn tùy chọn này bất cứ lúc nào trong quá trình phát triển tập lệnh dù bạn có chọn trình phân tích xác nhận hợp lệ cú pháp hay không.

Hình 11 cho thấy lỗi ngữ nghĩa đối với tham chiếu đến bảng SAMPLE_SALES1, bảng này không tồn tại trong lược đồ DB2ADMIN của cơ sở dữ liệu SAMPLE. Trình soạn thảo hiển thị cùng các chỉ báo lỗi cho lỗi cú pháp và lỗi ngữ nghĩa.

Hình 11. Xác nhận lỗi của tham chiếu tới đối tượng cơ sở dữ liệu trong câu lệnh DML
Xác nhận lỗi của tham chiếu tới đối tượng cơ sở dữ liệu trong câu lệnh DML.

Để biết thêm thông tin về xác nhận hợp lệ các tham chiếu tới đối tượng cơ sở dữ liệu trong câu lệnh SQL, xem phần Xác nhận hợp lệ câu lệnh SQL và XQuery trong phần Tài nguyên.

Thay đổi dấu kết thúc câu lệnh

Khi bạn có nhiều câu lệnh trong tập lệnh SQL, thì mỗi câu lệnh phải được ngăn cách bởi dấu kết thúc câu lệnh. Theo mặc định, trình soạn thảo SQL và XQuery sử dụng dấu chấm phẩy (;). Bạn có thể thay đổi dấu kết thúc câu lệnh mặc định cho tất cả các tập lệnh mà bạn tạo ra trong trình soạn thảo sử dụng trình đơn (Window> Preferences).

Bạn có thể sử dụng trường trên trang Xác nhận hợp lệ của ô cửa sổ Lệnh để thiết lập dấu kết thúc câu lệnh cho một tập lệnh cụ thể. Dấu kết thúc câu lệnh mà bạn đã thiết lập trong tập lệnh SQL vẫn còn tồn tại mỗi khi bạn mở các tập lệnh trong trình soạn thảo SQL và XQuery.

Trong một tập lệnh đã cho, bạn chỉ có thể sử dụng một dấu kết thúc câu lệnh. Nghĩa là, tất cả các câu lệnh trong một tập lệnh SQL phải sử dụng cùng một dấu kết thúc câu lệnh. Khi bạn thiết lập dấu kết thúc câu lệnh trong tập lệnh SQL có chứa các câu lệnh đang có, thì trình soạn thảo không cập nhật các dấu kết thúc câu lệnh hiện tại một cách tự động. Thay vào đó, bạn phải cập nhật theo cách thủ công tất cả các dấu kết thúc câu lệnh hiện có trong tập lệnh.

Hình 12 là ví dụ về lỗi xác nhận hợp lệ cú pháp xảy ra sau khi bạn thiết lập dấu kết thúc câu lệnh thành dấu chấm than (!) và không cập nhật dấu kết thúc câu lệnh hiện có. Bạn sẽ nhận được một lỗi “mã không hợp lệ” nếu bạn chạy các tập lệnh sau khi bạn đã dừng xác nhận hợp lệ cú pháp.

Hình 12. Dấu kết thúc câu lệnh không hợp lệ hiển thị sau khi thay đổi dấu kết thúc mặc định
A screen capture of the editor with the default semicolon statement terminator flagged with an error.

Để biết thêm thông tin về các dấu kết thúc câu lệnh, xem phần các dấu kết thúc câu lệnh SQL tại phần Tài nguyên.

Hỗ trợ nội dung trong trình soạn thảo SQL và XQuery

Giống như nhiều tính năng sản phẩm khác, trình soạn thảo SQL và XQuery cung cấp hỗ trợ nội dung để tạo ra câu lệnh SQL. Tương tự như trình soạn thảo Java trong Eclipse, hỗ trợ nội dung có thể được kích hoạt bằng cách nhấn tổ hợp phím Ctrl+Space.

Để tạo ra câu lệnh SQL của bạn với hỗ trợ nội dung, hãy bắt đầu bằng việc gõ nhập biểu thức select * from và nhấn Ctrl + Space. Các bước này sẽ hiển thị chức năng hỗ trợ nội dung để lựa chọn các bảng cơ sở dữ liệu. Khi tham chiếu các tên bảng dạng đầy đủ, bạn có thể tận dụng lợi thế của hỗ trợ nội dung theo nhiều bước, một bước là cho tên của lược đồ, như thể hiện trong nhãn số 1 của hình 13, và một bước cho tên bảng, như trong nhãn số 2.

Hình 13. Hỗ trợ nội dung trong trình soạn thảo SQL và XQuery để tham chiếu lược đồ và bảng
Hỗ trợ nội dung trong trình soạn thảo SQL và XQuery để tham chiếu lược đồ và bảng

Sau khi bạn thêm bảng đã yêu cầu vào mệnh đề FROM của câu lệnh SQL của bạn, tính năng hỗ trợ nội dung cũng có thể giúp bạn tìm thấy các cột từ bảng đó. Bạn có thể sử dụng khả năng này để giúp bạn hoàn thành câu lệnh SQL của mình. Hình 14 cho thấy cột COLOR đang được thêm vào mệnh đề SELECT của câu lệnh SQL với tính năng hỗ trợ nội dung.

Hình 14. Hỗ trợ nội dung trong trình soạn thảo SQL và XQuery để tham chiếu các cột của bảng
Hỗ trợ nội dung trong trình soạn thảo SQL và XQuery để tham chiếu các cột của bảng

Các biến đăng ký đặc biệt

Với trang Special Registers (Các biến đăng ký đặc biệt) của ô cửa sổ Command, bạn có thể chỉ rõ lược đồ hiện tại và đường dẫn mà bạn muốn sử dụng để chạy các câu lệnh SQL hoặc XQuery với chúng.

Lưu ý: Bạn phải được kết nối đến máy chủ dữ liệu DB2 cho z/OS hay DB2 cho Linux, UNIX và Windows để ấn định các biến đăng ký này.

Biến đăng ký Current schema (lược đồ hiện tại) được sử dụng khi bạn triển khai và chạy các đối tượng cơ sở dữ liệu với tập lệnh SQL của mình. Nó phân giải các tham chiếu tới đối tượng cơ sở dữ liệu còn chưa xác định đầy đủ. Theo mặc định, tên của cơ sở dữ liệu từ hồ sơ kết nối hiện tại trên trang cấu hình (Configuration) sẽ được hiển thị nếu SQL của bạn không chỉ rõ lược đồ. Để thay đổi nó, hãy nhấn vào nút Select, sau đó chọn một lược đồ khác từ cửa sổ Select a schema (Chọn lược đồ), như trong hình 15.

Hình 15. Cửa sổ Chọn lược đồ mở ra để thay đổi lược đồ hiện tại
Cửa sổ Chọn lược đồ mở ra để thay đổi lược đồ hiện tại

Biến đăng ký đường dẫn hiện tại (Current path) được sử dụng khi bạn triển khai và chạy các đối tượng cơ sở dữ liệu với tập lệnh SQL của mình. Nó phân giải các tên chưa đầy đủ của hàm, của thủ tục, của kiểu dữ liệu, của biến toàn cục và của đối tượng mô đun trong các câu lệnh SQL được điền thay thế động (dynamically prepared). Bạn có thể bổ sung thêm các lược đồ vào biến đăng ký đường dẫn hiện tại bằng cách nhấn vào nút Select, như trong Hình 16. Chọn một hoặc nhiều lược đồ từ cửa sổ Chọn lược đồ (Select schemas) mở ra.

Hình 16. Cửa sổ Chọn lược đồ mở ra để thay đổi đường dẫn hiện tại
Cửa sổ Chọn lược đồ mở ra để thay đổi đường dẫn hiện tại.

Chạy tập lệnh của bạn

Thiết lập các ưa thích khi chạy

Để xác định xem tập lệnh SQL mà bạn đang phát triển có trả về các kết quả mong đợi hay không, bạn cần phải chạy nó. Nhưng trước tiên bạn có thể muốn thay đổi cách tập lệnh SQL được chạy. Bạn có thể làm điều này với các ưa thích khi chạy trên trang Cấu hình của ô cửa sổ Lệnh, như trong hình 17.

Hình 17. Các ưa thích khi chạy
Các ưa thích khi chạy
  • Phương thức chạy
    Bạn có thể thiết lập môi trường thực thi cho trình soạn thảo SQL và XQuery với tùy chọn ưa thích này. Các môi trường thực thi sẵn có là JDBC và bộ xử lý dòng lệnh.

    Lưu ý: Tùy chọn bộ xử lý dòng lệnh chỉ có sẵn nếu máy chủ dữ liệu là DB2 cho các hệ điều hành Linux, UNIX và Windows.

  • Làm mới khung nhìn trình thám hiểm sau khi tập lệnh này chạy
    Đánh dấu tùy chọn này để làm mới khung nhìn trình thám hiểm nguồn dữ liệu (Data Source Explorer) hoặc trình thám hiểm của nhà quản trị (Administrator Explorer) sau khi bạn chạy tập lệnh..

  • Mở kết nối mới khi tập lệnh chạy
    Tùy chọn này tạo ra kết nối mới tới cơ sở dữ liệu đích được sử dụng để chạy tập lệnh của bạn. Theo mặc định, nó được đánh dấu chọn.

    Lưu ý: Phương thức chạy (Run method) phải được thiết lập là môi trường JDBC nếu bạn muốn bỏ chọn tùy chọn này. Nếu bạn làm thế, thì thông tin từ trường Connection (kết nối) được sử dụng và các tùy chọn Commit on completion of script (Giao kết khi hoàn thành tập lệnh) và Roll Back on completion of script (Cuộn lùi khi hoàn thành tập lệnh) bị vô hiệu hóa.

  • Chạy thành công
    Các tùy chọn này xác định cách các câu lệnh SQL được xử lý khi chúng chạy thành công. Mỗi tùy chọn sẽ sẵn có hay không còn phụ thuộc vào phương thức chạy mà bạn chọn. Trong bảng dưới đây có nhiều thông tin hơn về vấn đề này.

  • Khi lỗi xảy ra
    Các tùy chọn này xác định cách các câu lệnh SQL được xử lý khi lỗi xảy ra. Mỗi tùy chọn sẽ sẵn có hay không còn phụ thuộc vào phương thức chạy mà bạn chọn. Trong bảng dưới đây có nhiều thông tin hơn về vấn đề này.

Bảng sau đây chi tiết hóa cách các câu lệnh được xử lý khi các câu lệnh chạy thành công hoặc gặp lỗi trong môi trường JDBC:

Phương thức chạy JDBC và các tùy chọn ưa thích
Chạy thành côngKhi lỗi xảy raKết quả
Giao kết sau từng câu lệnhTiếp tụcNếu câu lệnh thành công, thì nó được giao kết tới cơ sở dữ liệu đã chỉ rõ. Nếu lỗi xảy ra, câu lệnh tiếp theo sẽ chạy.
Giao kết sau từng câu lệnhDừng lạiNếu câu lệnh thành công, thì nó được giao kết tới cơ sở dữ liệu xác định. Nếu lỗi xảy ra, tập lệnh sẽ ngừng chạy.
Giao kết khi hoàn thành tập lệnhTiếp tụcNếu tất cả các câu lệnh trong tập lệnh thành công, thì tất cả các câu lệnh được giao kết tới cơ sở dữ liệu đã chỉ rõ. Nếu lỗi xảy ra, câu lệnh tiếp theo sẽ chạy, và tất cả các câu lệnh thành công được giao kết tới cơ sở dữ liệu đã chỉ rõ.
Giao kết khi hoàn thành tập lệnhDừng lại và Giao kết Nếu tất cả các câu lệnh trong tập lệnh thành công, thì tất cả các câu lệnh được giao kết tới cơ sở dữ liệu đã chỉ rõ. Nếu lỗi xảy ra, tập lệnh sẽ ngừng chạy, và mọi câu lệnh đã chạy thành công được giao kết tới cơ sở dữ liệu xác định.
Giao kết khi hoàn thành tập lệnhDừng và cuộn lùi lạiNếu tất cả các câu lệnh trong tập lệnh thành công, thì tất cả các câu lệnh được giao kết tới cơ sở dữ liệu đã chỉ rõ. Nếu lỗi xảy ra, tập lệnh sẽ ngừng chạy, và tất cả các câu lệnh thành công được cuộn lùi lại.
Cuộn lùi lại khi hoàn thành tập lệnhTiếp tụcNếu tất cả các câu lệnh trong tập lệnh thành công, thì tất cả các câu lệnh được cuộn lùi lại. Nếu lỗi xảy ra, câu lệnh tiếp theo sẽ chạy, và mọi câu lệnh thành công được cuộn lùi lại.
Cuộn lùi lại khi hoàn thành tập lệnhDừng và cuộn lùi lạiNếu tất cả các câu lệnh trong tập lệnh thành công, thì tất cả các câu lệnh được cuộn lùi lại. Nếu lỗi xảy ra, tập lệnh sẽ ngừng chạy, và mọi câu lệnh thành công được cuộn lùi lại.

Bảng sau đây sẽ chi tiết cách các câu lệnh được xử lý như thế nào khi chúng được chạy thành công hoặc gặp lỗi trong môi trường bộ xử lý dòng lệnh:

Phương thức chạy Xử lý dòng lệnh và các tùy chọn ưa thích
Chạy thành côngKhi lỗi xảy raKết quả
Giao kết sau từng câu lệnhTiếp tụcNếu câu lệnh thành công, thì nó được giao kết tới cơ sở dữ liệu đã chỉ rõ. Nếu lỗi xảy ra, câu lệnh tiếp theo sẽ chạy.
Giao kết sau từng câu lệnhDừng lạiNếu câu lệnh thành công, thì nó được giao kết tới cơ sở dữ liệu đã chỉ rõ. Nếu lỗi xảy ra, tập lệnh sẽ ngừng chạy.
Giao kết do người dùng quản lýTiếp tụcNếu một câu lệnh COMMIT được bao gồm trong tập lệnh, thì câu lệnh được giao kết tại thời điểm đó. Nếu lỗi xảy ra, thì câu lệnh tiếp theo sẽ chạy.
Giao kết do người dùng quản lýDừng lại và giao kết Nếu câu lệnh COMMIT được bao gồm trong tập lệnh, thì câu lệnh được giao kết tại thời điểm đó. Nếu lỗi xảy ra, thì tập lệnh sẽ ngừng chạy, và bất kỳ câu lệnh đã chạy được giao kết tới cơ sở dữ liệu đã chỉ rõ.

Khung nhìn của kết quả SQL

Bây giờ bạn đã khám phá các tùy chọn ưa thích khi chạy, bạn sẵn sàng chạy các tập lệnh SQL. Hãy nhấp vào nút Run SQL ( A screen capture of the 'Run SQL' button on the editor toolbar. ) trên thanh công cụ trình soạn thảo để thực hiện các câu lệnh trong tập lệnh SQL.

Tập lệnh được chạy với cơ sở dữ liệu mà nó đang được kết nối đến. Tiến độ và kết quả của việc chạy tập lệnh này sau đó được hiển thị trên khung nhìn các kết quả SQL, như trong hình 18 và 19.

Hình 18. Khung nhìn các kết quả SQL sau khi chạy tập lệnh với phương thức chạy JDBC và tùy chọn ưa thích
Khung nhìn các kết quả SQL sau khi chạy tập lệnh với phương thức chạy JDBC và tùy chọn ưa thích
Hình 19. Khung nhìn các kết quả SQL sau khi chạy tập lệnh với Trình xử lý dòng lệnh và các tùy chọn ưa thích
Khung nhìn các kết quả SQL sau khi chạy tập lệnh với Trình xử lý dòng lệnh và các tùy chọn ưa thích

Để biết thêm thông tin về việc chạy các câu lệnh SQL, hãy xem phần Chạy các câu lệnh SQL tại phần Tài nguyên.


Các nút thanh công cụ của trình soạn thảo SQL và XQuery

Nhập các câu lệnh SQL từ tập lệnh

Bạn có thể muốn bao gồm các câu lệnh SQL được lưu trữ trong một hoặc nhiều tệp tin như là một phần của tập lệnh mà bạn đang phát triển. Hãy nhấp vào nút Import ( A screen capture of the 'Import' button on the editor toolbar. ) trên thanh công cụ trình soạn thảo để nhập các câu lệnh SQL vào tập tin văn bản.

Các câu lệnh SQL trong tập tin được chọn sẽ được sao chép và được dán vào vị trí của điểm chèn trong trình soạn thảo. Nếu bạn nhập khẩu các câu lệnh vào tập lệnh đã có chứa các câu lệnh SQL, thì các câu lệnh nhập khẩu được đặt trong ngoặc với các dòng ghi chú, như trong hình 20. Dòng ghi chú Script xác định tệp tin mà từ đó các câu lệnh đã được nhập khẩu.

Hình 20. Câu lệnh SQL được nhập khẩu vào tập lệnh hiện có
Câu lệnh SQL được nhập khẩu vào tập lệnh hiện có.

Để biết thêm thông tin về nhập khẩu các câu lệnh SQL vào các tập lệnh, xem mục nhập khẩu câu lệnh SQL vào các tập lệnh trong trình soạn thảo SQL và XQuery tại phần Tài nguyên.

Xuất khẩu câu lệnh SQL từ một tập lệnh

Khi bạn phát triển tập lệnh của bạn, bạn có thể muốn viết các câu lệnh SQL mà bạn, hoặc thành viên nhóm phát triển của bạn, có thể bao gồm vào trong các tập lệnh SQL. Sử dụng nút Export ( A screen capture of the 'Export' button on the editor toolbar. ) trên thanh công cụ trình soạn thảo để xuất khẩu tất cả các câu lệnh SQL trong tập lệnh, hoặc chỉ những câu lệnh mà bạn đã chọn.

Các câu lệnh SQL được xuất khẩu được lưu trong một tệp văn bản, theo mặc định, nó có tên như tên của tập lệnh SQL, bao gồm cả phần mở rộng .sql.

Để biết thêm thông tin về xuất khẩu các câu lệnh SQL từ các tập lệnh, xem phần xuất khẩu các câu lệnh từ các tập lệnh SQL trong trình soạn thảo SQL và XQuery tại phần Tài nguyên.

Phân tích và tinh chỉnh các truy vấn của bạn

Công cụ giải thích trực quan cung cấp khung nhìn đồ họa của các câu lệnh SQL của bạn để bạn có thể phân tích các truy vấn của mình và tinh chỉnh để có hiệu suất tốt hơn.

Nhấp vào nút Mở giải thích trực quan - Open Visual ExplainA screen capture of the 'Open Visual Explain' button on the editor toolbar. ) trên thanh công cụ trình soạn thảo để mở nó. Nếu giải thích trực quan không được hỗ trợ cho các kiểu cơ sở dữ liệu mà bạn được kết nối đến, thì có một thông điệp nói rằng nó không có sẵn cho máy chủ dữ liệu của bạn.

Để biết thêm thông tin về việc sử dụng giải thích trực quan, xem phần Sử dụng giải thích trực quan cho câu lệnh SQL tại phần Tài nguyên.

Bạn cũng có thể sử dụng trình tinh chỉnh truy vấn Optim của InfoSphere (Query InfoSphere Optim Tuner) để phân tích và tinh chỉnh hiệu năng của các truy vấn của bạn.

Nhấp vào nút Khởi chạy tinh chỉnh - Start TuningA screen capture of the 'Start Tuning' button on the editor toolbar. ) trên thanh công cụ trình soạn thảo để khởi chạy trình tinh chỉnh truy vấn Optim của InfoSphere. Bạn sẽ không thấy nút Khởi chạy tinh chỉnh nếu chức năng tinh chỉnh truy vấn không có trong sản phẩm mà bạn đang sử dụng.

Để biết thêm thông tin về tinh chỉnh truy vấn, xem phần Tinh chỉnh câu lệnh SQL đơn lẻ tại phần Tài nguyên.

Tạo và quản lý công việc

Trình quản lý công việc là một công cụ trong Xưởng dữ liệu của IBM (IBM Data Studio), nó được sử dụng để tạo và quản lý lịch trình cho các công việc mà bạn tạo ra cho cơ sở dữ liệu của mình.

Nhấp vào nút Trình quản lý công việc ( A screen capture of the 'Job Manager' button on the editor toolbar. ) trên thanh công cụ trình soạn thảo để khởi chạy trình soạn thảo của trình quản lý công việc.

Trình soạn thảo SQL và XQuery giúp chuyển một số thông tin đến trình quản lý công việc, chẳng hạn như câu lệnh từ các tập lệnh SQL, dấu kết thúc câu lệnh, các thông tin kết nối cơ sở dữ liệu và kiểu chạy thực thi. Thông tin này được sử dụng bởi trình soạn thảo của trình quản lý công việc để sắp xếp công việc.

Để biết thông tin về việc sử dụng trình quản lý công việc, xem phần Tạo và quản lý công việc tại phần Tài nguyên.

Tài nguyên

Học tập

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

  • Đánh giá sản phẩm của IBM theo cách phù hợp với bạn nhất: Tải về sản phẩm dùng thử, hãy thử một sản phẩm trực tuyến, sử dụng sản phẩm trong một môi trường đám mây, hoặc bỏ ra một vài giờ với SOA Sandbox để học cách thực hiện kiến trúc hướng dịch vụ một cách hiệu quả.

Thảo luận

  • Hãy tham gia vào cộng đồng developerWorks. Kết nối với những người sử dụng developerWorks khác khi khám phá các blog dẫn dắt bởi nhà phát triển, các diễn đàn, các nhóm và các trang web mở (wiki).

Bình luận

developerWorks: Đăng nhập

Các trường được đánh dấu hoa thị là bắt buộc (*).


Bạn cần một ID của IBM?
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.

 


Ở lần bạn đăng nhập đầu tiên vào trang developerWorks, một hồ sơ cá nhân của bạn được tạo ra. Thông tin trong bản hồ sơ này (tên bạn, nước/vùng lãnh thổ, và tên cơ quan) sẽ được trưng ra cho mọi người và sẽ đi cùng các nội dung mà bạn đăng, trừ khi bạn chọn việc ẩn tên cơ quan của bạn. Bạn có thể cập nhật tài khoản trên trang IBM bất cứ khi nào.

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

Chọn tên hiển thị của bạn



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.

Các trường được đánh dấu hoa thị là bắt buộc (*).

(Tên hiển thị cần có từ 3 đến 30 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.

 


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


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=70
Zone=Information Management
ArticleID=832394
ArticleTitle=Tạo các tập lệnh một cách hiệu quả hơn trong trình soạn thảo SQL và XQuery
publish-date=12082011