4.Lưu nội dung bảng
Mọi thay đổi được tạo ra cho nội dung bảng (như các giá trị được chèn vào) không được lưu vật lý lên đĩa cho đến khi lệnh
COMMIT
được dùng, bạn đóng CSDL hoặc bạn thoát khỏi SQL. Do đó, nếu mất điện hoặc một ngắt khác nào đó đột ngột xuất hiện trước khi bạn thực hiện lệnh COMMIT với bảng, nội dung bảng cũ sẽ được giữ lại. Vì vậy, sẽ là hữu dụng nếu lưu cất hai bản ghi vừa được nhập vào bảng INVENTRY bằng lệnh
COMMIT INVENTRY;
Lệnh COMMIT thường dùng để lưu các kết quả bổ sung, thay đổi và xoá
được tạo ra cho nội dung bảng. Khi bạn đã lưu cấu trúc CSDL và bảng với COMMIT, bạn có thể thoát khỏi phần mềm.
C
Lưu ý người dùng dBASE IV 1.1: Vì SQL không được tích hợp vào phần mềm dBASE, bạn phải thoát khỏi SQL trước, sau đó thoat khỏi dBASE. Chẳng hạn, nếu bạn dùng SQL của dBASE IV, dùng lệnh
SET SQL OFF;
và sau đó chọn QUIT để thoát khỏi dBASE IV. Nếu bạn bắt đầu một phiên làm việc SQL mới của dBASE IV, dùng
SET SQL ON;
và trở lại CSDL ROBCOR được tạo ra trong phiên làm việc trước với lệnh
START DATABASE ROBCOR;
húng tôi không muốn để lại một ấn tượng là vai trò chính của lệnh COMMIT là để lưu các thay đổi. Trên thực tế, mục đích cơ bản của lệnh COMMIT và ROLLBACK (xem phần 3.3.7) là bảo đảm toàn vẹn cập nhật CSDL trong quản lý giao dịch. (Chúng ta sẽ khảo sát quản lý giao dịch trong chương 9).
5.Bổ sung dữ liệu cho bảng
Cho đến giờ, chỉ có hai hàng đầu tiên được lưu vào trong bảng INVENTRY. Tám hàng còn lại có thể được bổ sung bằng cùng một dãy lệnh
INSERT INTO INVENTRY
VALUES(..., ..., ..., ...)
mà chúng ta đã dùng để đưa vào hai hàng trên. Chẳng hạn, hàng thứ ba sẽ được bổ sung như sau
INSERT INTO INVENTRY
VALUES(‘2QQ23DRT’,’ PVC pipe, 3.5in, 8ft’, ‘07/02/91’, 188, 75, 5.87, 21344);
Cứ tiếp tục như vậy để đưa vào từng hàng còn lại, mỗi lần một hàng. (Đừng bận tâm về việc gây ra lỗi; bạn sẽ học cách sửa lỗi trong phần sau.) Hãy đảm bảo là lưu nội dung bảng bằng lệnh COMMIT khi tất cả các hàng đã được đưa vào. Khi bạn đã hoàn thành, lệnh
SELECT *
FROM INVENTRY
sẽ chỉ ra nội dung bảng kết quả:
P_CODE
|
P_DESCRIPT
|
STOCK_DATE
|
ON_HAND
|
MIN_QUANT
|
PRICE
|
V_CODE
|
13-Q2/P2
ZW-23116
2QQ23DRT
54778-2T
23114-AA
89-WRE-Q
2232/QWE
1546-QQ2
WWE/D324
2232/QTY
|
7.25in, power saw blade
2.5in, wood screw, 100
PVC pipe, 3.5in, 8ft
Rat-tail file, 1/8in fine
Sledge hammer, 12lb
Houselite chain saw, 16in
B&D jigsaw, 8in, blade
Hardware cloth,1/4in,50ft
Claw hammer
B&D jigsaw, 12in, blade
|
08/12/91
06/25/91
07/02/91
12/03/90
02/15/91
08/11/91
11/26/90
08/14/91
08/12/91
11/26/90
|
32
237
188
43
8
11
6
15
23
8
|
15
100
75
20
5
5
3
5
10
3
|
14.99
8.45
5.87
4.99
14.40
256.99
99.87
39.95
5.95
109.92
|
21344
21231
21344
21344
21231
24288
24288
23119
21225
24288
| 6.Sửa chữa
Dùng lệnh UPDATE để sửa các mục dữ liệu. Chẳng hạn, nếu bạn muốn thay đổi giá trị trường STOCK_DATE của hàng hai thành 05/26/91, dùng khóa chính (ZW-23116) để định vị đúng hàng thứ hai.
UPDATE INVENTRY
SET STOCK_DATE = ‘05/26/91’
WHERE P_CODE = ‘ZW-23116’;
Nếu nhiều hơn một thuộc tính cần được sửa trên một hàng, tách các phép sửa chữa bởi dấu phảy:
UPDATE INVENTRY
SET STOCK_DATE = ‘05/26/91’, PRICE = 8.54, MIN_QUANT = 75
WHERE P_CODE = ‘ZW-23116’;
Kiểm tra lại kết quả sửa chữa bằng cách liệt kê bảng với lệnh
SELECT *
FROM INVENTRY;
7.X
Lưu ý: Dùng ROLLBACK để phục hồi tình trạng cũ trước đó của bảng; Chúng ta sẽ dùng nội dung bảng ban đàu trong các phần còn lại của chương này.
oá hàng
Dễ dàng xoá một hàng. Chẳng hạn, nếu bạn muốn xoá hàng tám (giá trị khoá chính P_CODE = ‘1546-QQ2’ khỏi bảng INVENTRY, dùng lệnh
DELETE FROM INVENTRY
WHERE P_CODE = ‘1546-QQ2’;
Lưu ý rằng giá trị khóa chính cho phép SQL định vị chính xác bản ghi cần xoá. Thao tác xoá không phụ thuộc vào khóa chính: thuộc tính bất kỳ có thể được dùng. Chẳng hạn,
DELETE FROM INVENTRY
WHERE MIN_QUANT = 5;
sẽ xoá ba hàng.
8.Khôi phục nội dung bảng
Nếu bạn chưa dùng lệnh COMMIT để làm cho các thay đổi trong nội dung bảng cố định lại, bạn có thể khôi phục lại CSDL về trạng thái trước đó của nó với lệnh ROLLBACK. Lệnh ROLLBACK không yêu cầu bạn mô tả tên bảng; SQL xem như CSDL hiện thời trong bộ phải được phục hồi. Vì vậy, bạn chỉ cần gõ
ROLLBACK
và nhấn phím ENTER. Chúng ta sẽ khảo sát chi tiết hơn cách dùng cả hai lệnh COMMIT và ROLLBACK khi thảo luận về quản lý giao dịch trong chương 9.
IV.VẤN TIN
Mọi câu vấn tin đều dựa trên lệnh SELECT. Trên thực tế, để kiểm tra công việc của mình ở phần trước bạn đã dùng câu vấn tin dạng đơn giản nhất,
SELECT *
FROM INVENTRY;
để liệt kê tất cả các hàng gồm tất cả các cột trong bảng đã mô tả. Trong phần này bạn sẽ biết cách điều chỉnh phù hợp lệnh SELECT bằng cách bổ sung các hạn chế cho yêu cầu tìm kiếm. Với cách đó SELECT, kết hợp với các hạn chế tìm kiếm thích hợp, là một công cụ đầy năng lực sẽ cho phép bạn chuyển đổi dữ liệu thành thông tin.
Chia sẻ với bạn bè của bạn: |