Khai báo biến trong SQL Server

Thứ tư - 26/04/2023 00:53

Declare trong SQL Server là gì? Cách dùng Declare SQL Server như thế nào? Hãy cùng Quantrimang.com tìm hiểu cách khai báo biến trong SQL Server như thế nào nhé!

SQL Server tồn tại đầy đủ các khái niệm kiểu dữ liệu, biến và khai báo biến như các ngôn ngữ lập trình khác. Bài viết sẽ tìm hiểu về cách khai báo một biến, nhiều biến và gán giá trị mặc định cho biến trong SQL Server. Mời bạn đọc theo dõi.

Biến (Variable) dùng để lưu trữ các giá trị tạm thời trong quá trình thực thi thuật toán.

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

Để khai báo biến trong SQL Server, ta sử dụng câu lệnh DECLARE, được biểu diễn như sau:

DECLARE @variable_name datatype [ = initial_value ], @variable_name datatype [ = initial_value ], ...;

Tham số:

  • variable_name: tên gán cho biến.
  • datatype: kiểu dữ liệu của biến.
  • initial_value: giá trị mặc định gán cho biến (không bắt buộc).

Khai báo một biến trong SQL Server

Dùng DECLARE khai báo một biến bất kì

DECLARE @quantrimang VARCHAR(50);

Câu lệnh DECLARE này khai báo một biến có tên @quantrimang, với kiểu dữ liệu VARCHAR và độ dài 50 kí tự.

Sau đó bạn thay đổi giá trị biến @quantrimang bằng cách sử dụng câu lệnh SET.

SET @quantrimang = 'Hello world';

Tiếp theo hãy thử với kiểu dữ liệu INT:

DECLARE @site_value INT;

Sử dụng câu lệnh SET để gán giá trị cho biến @site_value

SET @site_value = 10;

Vậy biến @site_value ở đây được gán cho số nguyên 10.

Khai báo nhiều biến trong SQL Server

Cách sử dụng lệnh như sau:

DECLARE @quantrimang VARCHAR(50),        @site_value INT;

Trong ví dụ này, chúng ta có hai biến được khai báo: biến @quantrimang với kiểu dữ liệu VARCHAR(50) và biến @site_value kiểu dữ liệu INT.

Khai báo biến với giá trị mặc định trong SQL Server

Trong SQL Server, ta có thể gán giá trị mặc định cho biến ngay lúc khai báo.

DECLARE @quantrimang VARCHAR(50) = 'Hello world';

Vậy ở đây biến @quantrimang với kiểu dữ liệu VARCHAR và độ dài 50 kí tự được gán mặc định cho giá trị 'Hello world'.

Tương tự ta khai báo với kiểu dữ liệu INT:

DECLARE @site_value INT = 10;

Khai báo nhiều hơn một biến có gán giá trị ban đầu

Cách sử dụng lệnh như sau:

DECLARE @quantrimang VARCHAR(50) = 'Hello world';@site_value INT = 10;

Hai biến @quantrimang và @site_value đã được khai báo ở chung một lệnh và được gán giá trị ban đầu mặc định.

Khai báo một biến của bảng type

Ví dụ sau tạo một biến table, chứa giá trị được xác định trong mệnh đề OUTPUT của lệnh UPDATE. Hai câu lệnh SELECT theo sau trả về các giá trị trong @MyTableVar và kết quả của thao tác cập nhật trong bảng Employee. Kết quả trong cột INSERTED.ModifiedDate khác với các giá trị trong cột ModifiedDate của bảng Employee. Điều này là do trình kích hoạt AFTER UPDATE, cập nhật giá trị của ngày sửa đổi thành ngày hiện tại, được xác định trên bảng Employee. Tuy nhiên, các cột được trả về từ OUTPUT phản ánh dữ liệu trước khi được kích hoạt.

Ví dụ:

USE AdventureWorks2012;
GO
DECLARE @MyTableVar TABLE (
    EmpID INT NOT NULL,
    OldVacationHours INT,
    NewVacationHours INT,
    ModifiedDate DATETIME);
UPDATE TOP (10) HumanResources.Employee
SET VacationHours = VacationHours * 1.25
OUTPUT INSERTED.BusinessEntityID,
       DELETED.VacationHours,
       INSERTED.VacationHours,
       INSERTED.ModifiedDate
INTO @MyTableVar;
--Display the result set of the table variable.
SELECT EmpID, OldVacationHours, NewVacationHours, ModifiedDate
FROM @MyTableVar;
GO
--Display the result set of the table.
--Note that ModifiedDate reflects the value generated by an
--AFTER UPDATE trigger.
SELECT TOP (10) BusinessEntityID, VacationHours, ModifiedDate
FROM HumanResources.Employee;
GO
 

Nguồn tin: Quantrimang.com

Tổng số điểm của bài viết là: 0 trong 0 đánh giá

  Ý kiến bạn đọc

THỐNG KÊ TRUY CẬP
  • Đang truy cập22
  • Máy chủ tìm kiếm3
  • Khách viếng thăm19
  • Hôm nay14,252
  • Tháng hiện tại159,283
  • Tổng lượt truy cập9,865,135
QUẢNG CÁO
Phan Thanh Phú
Quảng cáo 2
Liên kết site
Đăng nhập Thành viên
Hãy đăng nhập thành viên để trải nghiệm đầy đủ các tiện ích trên site
Thăm dò ý kiến

Bạn thấy Website cần cải tiến những gì?

Lịch Âm dương
Máy tính
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây