Cỏc cõu lệnh Select đơn hàng

Một phần của tài liệu Giao_trinh_SQL_server pptx (Trang 102 - 103)

Khuụn mẫu của một select đơn hàng cũng giống như một cõu lệnh select- from-where bỡnh thường, ngoại trừ rằng theo sau mệnh đề SELECT là từ khúa INTO và một danh sỏch cỏc biến dựng chung. Những biến dựng chung cú cỏc dấu hai chấm đi trước, như là trường hợp cho tất cả những biến dựng chung trong một cõu lệnh SQL. Nếu kết quả của truy vấn là một bộ đơn, cỏc thành phần của bộ này sẽ trở thành cỏc giỏ trị của những biến dựng chung. Nếu kết quả hoặc là khụng cú bộ hoặc cú nhiều hơn một bộ, thỡ sẽ khụng cú phộp gỏn nào cho cỏc biến dựng chung được thực hiện, và một mó lỗi thớch hợp được ghi vào biến SQLSTATE.

Vớ dụ 3.3: Chỳng ta sẽ viết một hàm C để đọc tờn của một đơn vị và in ra lương của người quản lý đơn vị. Một phỏc họa của hàm này được thể hiện trong Hỡnh 3.3. Nú bắt đầu với một phần khai bỏo, dũng (1) đến dũng (5), cho những biến chỳng ta sẽ cần đến. Tiếp theo là cỏc cõu lệnh C yờu cầu nhập vào Tờnđơnvị (cỏc lệnh này khụng được viết rừ).

Dũng (6) đến (9) là cõu lệnh select đơn hàng. Nú hoàn toàn tương tự cỏc truy vấn chỳng ta đó được biết. Hai điều khỏc biệt đú là giỏ trị của biến Tờnđơnvị được sử dụng thay cho một hằng xõu trong điều kiện của dũng (9), và cú một mệnh đề INTO ở dũng (7) cho chỳng ta biết nơi đặt kết quả của

truy vấn. Trong trường hợp này, chỳng ta mong đợi một bộ đơn, và cỏc tuple chỉ cú một thành phần cho thuộc tớnh Lương. Giỏ trị của một thành phần này của một bộ được lưu trữ trong biến chia dựng chung LuongNQL.

void printLuong() {

1) EXEC SQL BEGIN DECLARE SECTION;

2) char Tendonvi[15];

3) int LuongNQL;

4) char SQLSTATE[6];

5) EXEC SQL END DECLARE SECTION;

/* Cỏc lệnh C yờu cầu nhập giỏ trị cho Tendonvi */

6) EXEC SQL SELECT Lương

7) INTO:LuongNQL

8) FROM NHÂNVIấN, ĐƠNVỊ

9) WHERE NHÂNVIấN.MósốNV = ĐƠNVỊ.Mó sốNQL

AND TờnĐV =:Tendonvi;

/* Cỏc lệnh C kiểm tra xem cú phải SQLSTATE chứa toàn số 0 hay

khụng. Nếu đỳng thỡ in ra giỏ trị của LuongNQL */ }

Hỡnh 3.3: Một select đơn hàng được nhỳng vào một hàm C

Một phần của tài liệu Giao_trinh_SQL_server pptx (Trang 102 - 103)

Tải bản đầy đủ (DOC)

(177 trang)
w