Biến kiểu Table trong SQL Server


Từ: 21:47 10/08/2012
Bài: 38
Cảm ơn: 45
Thích: 8

Ta đã biết đến khái niệm về các Table (bảng dữ liệu: là nơi lưu trữ dữ liệu về đối tượng cần quản lý) và tạo ra các Table khi tạo lập Database bằng truy vấn 

CREATE TABLE <tableName>
(

<column1 definition> [, ...]

[constraints]

)

Các table này sẽ được SQL Server lưu trữ trên ổ đĩa

Bài viết này, tôi giới thiệu về Biến kiểu Table: ta có thể sử dụng chúng như các bảng dữ liệu nhưng lại mang tính tạm thời - thường dùng làm nơi lưu trữ trung gian trong quá trình tính toán (VD: trong các store procedure)

Cú pháp khai báo

DECLARE <tableVariableName> TABLE (<column1 definition> [, ...])
Trong đó <tableVariableName> có dạng @tênBiến 
còn <column1 definition> [, ...] là danh sách định nghĩa các trường cho biến kiểu Table
Sau khi khai báo thì ta có thể sử dụng <tableVariableName> như với 1 bảng nhé, chỉ có điều bảng này sẽ bị huỷ khi kết thúc xử lý thôi

VD:

CREATE PROCEDURE spTableVariableTest
AS

DECLARE @myTable TABLE (col1 INT, col2 varchar(20))
INSERT INTO @myTable (col1, col2) VALUES (10, 'Monday')
INSERT INTO @myTable (col1, col2) VALUES (22, 'Tuesday')

SELECT *
FROM @myTable

GO