Lập trình với SQL Server

Học lập trình SQL Server cho người mới bắt đầu đơn giản dễ hiểu, ứng dụng ngay thực tế.

  1. Lý do nên biết lập trình trong SQL Server
  2. Làm thế nào để lập trình trong SQL Server
  3. Khai báo biến trong SQL Server
  4. Câu lệnh IF trong SQL Server
  5. Vòng lặp trong SQL Server
  6. Con trỏ (Cursor) trong SQL Server
  7. Code thực tế chương trình SQL Server
  8. Video thực hành lập trình cơ bản với SQL Server

Lập trình với SQL Server

1. Tại sao cần biết lập trình trong SQL Server

📌 Giúp phần mềm chạy nhanh hơn vì xử lý ngay tại database.
📌 Giảm bớt lượng code ở ứng dụng.
📌 Giải quyết được các nghiệp vụ phức tạp. 

2. Làm thế nào để lập trình SQL Server

Để lập trình chúng ta sử dụng T-SQL (thủ tục, script, trigger...)

T-SQL (Transact-SQL) là phiên bản mở rộng của ngôn ngữ SQL (Structured Query Language) được Microsoft phát triển riêng cho SQL Server.

 

3. Khai báo biến trong SQL Server

Cú pháp khai báo biến SQL Server

DECLARE @TenBien KieuDuLieu;

Ví dụ khai báo biến

DECLARE @HoTen NVARCHAR(50);
DECLARE @Tuoi INT;
SET @HoTen = 'Nguyễn Văn A';
SET @Tuoi = 30;

PRINT 'Họ tên: ' + @HoTen;
PRINT 'Tuổi: ' + CAST(@Tuoi AS NVARCHAR);

4. Câu lệnh IF trong SQL Server

Cú pháp câu lệnh if SQL Server

IF (điều_kiện)
BEGIN
    -- Lệnh thực hiện nếu đúng
END
ELSE
BEGIN
    -- Lệnh thực hiện nếu sai
END

Ví dụ câu lệnh if SQL Server

DECLARE @Diem FLOAT = 8.5;

IF @Diem >= 5
    PRINT 'Đậu';
ELSE
    PRINT 'Rớt';

5. Vòng lặp trong SQL Server

SQL Server hỗ trợ vòng lặp bằng WHILE.

Cú pháp vòng lặp SQL Server

WHILE (điều_kiện)
BEGIN
    -- Các lệnh
END

Ví dụ vòng lặp SQL Server

DECLARE @i INT = 1;

WHILE @i <= 5
BEGIN
    PRINT 'Lần thứ: ' + CAST(@i AS NVARCHAR);
    SET @i = @i + 1;
END

6. Con trỏ (Cursor) trong SQL Server

Con trỏ dùng để duyệt từng dòng dữ liệu trong bảng.

Cú pháp con trỏ SQL Server

-- Khai báo biến, các kiểu: nvarchar(50) / int / datetime
DECLARE @Cot1 Kiểu_dữ_liệu     
DECLARE @Cot2 Kiểu_dữ_liệu

DECLARE con_tro CURSOR FOR
SELECT Cot1, Cot2 FROM TenTable

OPEN con_tro;
FETCH NEXT FROM con_tro INTO @Cot1, @Cot2

WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT 'Cột 1: ' + CAST(@Cot1 AS NVARCHAR) + ', Cột 2: ' + @Cot2

    FETCH NEXT FROM con_tro INTO @Cot1, @Cot2
END
CLOSE con_tro;
DEALLOCATE con_tro;

Ví dụ con trỏ SQL Server

DECLARE @MaNV INT, @HoTen NVARCHAR(50);

DECLARE con_tro CURSOR FOR
SELECT MaNV, HoTen FROM NhanVien;

OPEN con_tro;
FETCH NEXT FROM con_tro INTO @MaNV, @HoTen;

WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT 'Mã NV: ' + CAST(@MaNV AS NVARCHAR) + ' - Họ tên: ' + @HoTen;
    FETCH NEXT FROM con_tro INTO @MaNV, @HoTen;
END

CLOSE con_tro;
DEALLOCATE con_tro;


    💡 Lưu ý: Con trỏ thường chậm và tốn tài nguyên. Nếu có thể, hãy dùng JOIN, CTE, WHILE, hoặc các kỹ thuật set-based thay thế.

7. Code thực tế chương trình với SQL Server

Đang cập nhật ...

8. Video thực hành lập trình cơ bản SQL Server

Bài viết liên quan:

Học lập trình SQL Server cho người mới bắt đầu đơn giản dễ hiểu, ứng dụng ngay thực tế.