Khai báo biến trong SQL Server
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é!
Không thể phủ nhận lập trình ngày càng có ý nghĩa quan trọng đối với cuộc sống của chúng ta. Nó là “cái nôi” sản sinh ra rất nhiều sản phẩm, phần mềm hữu ích cho cuộc sống, cả về vật chất lẫn tinh thần. Chính vì thế, lập trình đang ngày càng trở thành một ngành nghề “hot” với mức lương cao cho lập trình viên tài năng.
Thế giới lập trình vô cùng đa dạng và phong phú với nhiều ngôn ngữ có ưu và nhược điểm riêng. Song song với lập trình, bạn cần phải có một hệ quản trị cơ sở dữ liệu quan hệ vững chắc và SQL Server sẽ giúp bạn đạt được điều đó.
SQL Server là một trong số nhiều hệ quản trị cơ sở dữ liệu quan hệ phổ biến nhất hiện nay. Đây là một sản phẩm của Microsoft. Nó có đầy đủ phiên bản dành cho mọi nhu cầu phát triển của cá nhân và doanh nghiệp.
Nghe có vẻ hơi phức tạp nhưng thực tế học SQL Server không khó. Bạn có thể bắt đầu từ những kiến thức cơ bản nhất đã được tổng hợp trên Quantrimang.com. Ở bài viết này, chúng ta hãy cùng nhau tìm hiểu cách gán giá trị trong SQL hay declare trong SQL là gì nhé!
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
Khai báo một biến của bảng type với các chỉ mục nội tuyến
Ví dụ sau tạo một biến table với một chỉ mục nội tuyến được nhóm lại với nhau và hai chỉ mục inline không nhóm:
DECLARE @MyTableVar TABLE (
EmpID INT NOT NULL,
PRIMARY KEY CLUSTERED (EmpID),
UNIQUE NONCLUSTERED (EmpID),
INDEX CustomNonClusteredIndex NONCLUSTERED (EmpID)
);
GO
Truy vấn sau trả thông tin về các chỉ mục được tạo ở truy vấn trước.
SELECT *
FROM tempdb.sys.indexes
WHERE object_id < 0;
GO
Khai báo một biến của kiểu bảng do người dùng định nghĩa
Ví dụ sau tạo một tham số có giá trị bảng hoặc biến bảng tên @LocationTVP. Điều này yêu cầu một kiểu bảng do người dùng định nghĩa tên LocationTableType.
DECLARE @LocationTVP
AS LocationTableType;
Bạn nên đọc
Cũ vẫn chất
-
Khắc phục lỗi mạng WiFi không hiển thị trên Windows 10
Hôm qua -
Cách khởi động và dừng các dịch vụ trong MS SQL Server
Hôm qua -
5 cách tắt Update Windows 11, ngừng cập nhật Win 11
Hôm qua 14 -
200+biệt danh cho người yêu hay và hài hước
Hôm qua 5 -
Cách ẩn tin nhắn Telegram không cần xóa
Hôm qua -
Pantheon DTCL 7.5: Lên đồ, đội hình mạnh
Hôm qua -
Cách sửa file MP4 bị hỏng với thủ thuật đơn giản
Hôm qua -
Black Friday là gì? Black Friday 2023 vào ngày nào?
Hôm qua -
Cách vô hiệu hóa BitLocker trong Windows 10
Hôm qua -
Cách viết số mũ trong Excel, viết chỉ số trên, chỉ số dưới trong Excel
Hôm qua