Variable (biến) là một đối tượng trong CSDL dùng để lưu dữ liệu tạm thời.
Biến hệ thống (Global Variable): cung cấp thông tin của hệ thống. Ví dụ:
Tên biến
Ý nghĩa
@@VERSION
Thông tin phiên bản Microsoft SQL Server
@@ERROR
Mã lỗi của câu lệnh thực thi gần nhất
@@FETCH_STATUS
Trạng thái sau khi đọc một dòng của CURSOR
@@ROWCOUNT
Số dòng bị tác động bởi câu lệnh gần nhất
…
…
Biến do người dùng định nghĩa (Local Variable): phạm vi sử dụng trong một Batch hoặc một khối lệnh (BEGIN END). Xem cú pháp và ví dụ bên dưới.
2. Cú pháp
Cách 1
--Khai báo biến (DECLARE) DECLARE Tên_biến Kiểu_dữ_liệu --Gán giá trị cho biến (sử dụng SET hoặc SELECT) SET Tên_biến_1 = Giá_trị_2 SET Tên_biến_1 = Giá_trị_2 ... --Hoặc SELECT Tên_biến_1 = Giá_trị_1, Tên_biến_2 = Giá_trị_2,... --Hoặc SELECT Tên_biến_1 = Giá_trị_1, Tên_biến_2 = Giá_trị_2,... FROM Tên_bảng --Kết xuất giá trị của biến (PRINT và SELECT) PRINT Tên_biến --Hoặc SELECT Tên_biến_1, Tên_biến_2,...
Cách 2
--Hoặc khai báo và gán luôn giá trị cho biến DECLARE Tên_biến Kiểu_dữ_liệu = Giá_trị --Kết xuất giá trị của biến (PRINT và SELECT) PRINT Tên_biến --Hoặc SELECT Tên_biến_1, Tên_biến_2,...
3. Ví dụ
Cách 1
--Khai báo biến DECLARE @Ho nvarchar(30), @Ten nvarchar(20) --Gán giá trị cho biến SET @Ho = N'Hà Thị Bạch' SET @Ten = N'Lan' --Hoặc SELECT @Ho = N'Hà Thị Bạch', @Ten = N'Lan' --Hoặc SELECT @Ho = Ho_sinh_vien, @Ten = Ten_sinh_vien FROM SINH_VIEN WHERE Ma_sinh_vien = 'C00' --Kết xuất giá trị của biến PRINT N'Họ: ' + @Ho PRINT N'Tên: ' + @Ten --Hoặc SELECT @Ho AS Ho, @Ten AS Ten
Cách 2
--Hoặc khai báo và gán luôn giá trị cho biến DECLARE @Ho nvarchar(30) = N'Hà Thị Bạch', @Ten nvarchar(20) = N'Lan' --Kết xuất giá trị của biến PRINT N'Họ: ' + @Ho PRINT N'Tên: ' + @Ten --Hoặc SELECT @Ho AS Ho, @Ten AS Ten
Tính và in ra điểm trung bình
--Khai báo và gán giá trị cho biến DECLARE @Diem_toan decimal(3,1) = 9.5, @Diem_ly decimal(3,1) = 7.5, @Diem_hoa decimal(3,1) = 8.0 DECLARE @diem_trung_binh decimal(3,1) --Tính điểm trung bình SET @Diem_trung_binh = (@Diem_toan + @Diem_ly + @Diem_hoa) / 3 --In ra điểm trung bình PRINT @Diem_trung_binh
Tính và in ra điểm trung bình của một sinh viên
--Tạo bảng tên DIEM CREATE TABLE DIEM ( Ma_So char(3) PRIMARY KEY, Diem_Toan decimal(3,1), Diem_Ly decimal(3,1), Diem_Hoa decimal(3,1) ) --Thêm dữ liệu INSERT DIEM VALUES('A01', 9.5, 7.5, 8.0) --Khai báo biến DECLARE @diem_toan decimal(3,1), @diem_ly decimal(3,1), @diem_hoa decimal(3,1) DECLARE @diem_trung_binh decimal(3,1) --Đọc dữ liệu ra biến SELECT @diem_toan = Diem_Toan, @diem_ly = Diem_Ly, @diem_hoa = Diem_Hoa FROM DIEM WHERE Ma_So = 'A01' --Tính điểm trung bình SET @diem_trung_binh = (@diem_toan + @diem_ly + @diem_hoa) / 3 --In ra điểm trung bình PRINT @diem_trung_binh
Tags: Global VariableLocal VariableVariable
Next story Kiểm tra kết nối từ máy trạm vào máy chủ CSDL
Previous story DROP TABLE # – Lệnh xóa bảng tạm
Để lại một bình luận Hủy
Email của bạn sẽ không được hiển thị công khai.Các trường bắt buộc được đánh dấu *
Bình luận *
Tên *
Email *
Trang web
Lưu tên của tôi, email, và trang web trong trình duyệt này cho lần bình luận kế tiếp của tôi.