Giới thiệu lập trình SQL căn bản
chuc1803@gmail.com
Bài viết này giới thiệu một số thao tác lập trình T-SQL cơ bản. Cơ sở dữ liệu minh họa ATM gồm 3 bảng ACCOUNTS (Tài khoản), TRANSACTIONS (giao dịch rút tiền) và CUSTOMERS (khách hàng) như sau :

Ví dụ 1. Viết một Store Procedure cho phép bổ sung vào bảng TRANSACTION một giao dịch rút tiền thành công với các yêu cầu sau:
- Kiểm tra số tài khoản bổ sung vào bảng TRANSACTIONS phải có trong bảng ACCOUNTS
- Số dư còn lại ít nhất 50 và số tiền mỗi lần rút không quá 500
- Thời gian giao dịch (TIME_TRAN) lấy thời gian hiện tại của hệ thống

Ví dụ 2. Viết một Store Procedure cho phép nhập vào một số tài khoản và thống kê số lần giao dịch và tổng số tiền giao dịch của tài khoản đó.

Ví dụ 3. Minh họa hoạt động của vòng lặp WHILE trong SQL

Ví dụ 4. Sử dụng biến @@FETCH_STATUS để kiểm soát hoạt động của biến con trỏ trong vòng lặp WHILE để in ra các khách hàng có địa chỉ ở “Danang”. Chú ý rằng trong T-SQL, các biến bắt đầu bởi 2 dấu @ là biến môi trường của SQL Server (biến do người dùng tạo ra bắt đầu bằng 1 dấu @), các biến này được SQL server quản lý (sử dụng không phải khai báo) có ý nghĩa xác định và là biến toàn cục.

Ví dụ 5. Dưới đây định nghĩa hàm SUMINT tính tổng của 2 số nguyên và cách sử dụng

Ví dụ 6. Ví dụ về hàm trả về kiểu bảng (tập các bộ). Viết hàm CADD_LIST cho phép xem danh sách các khách hàng theo địa chỉ nhập vào như tham số

Ví dụ 7. Viết Trigger TRG_TRAN cho phép khi thêm một giao dịch mới vào bảng TRANSACTIONS thì cập nhật số dư tương ứng trong bảng ACCOUNTS. ( như ví dụ 1)
