Bảng tạm Temporary Tables trong SQL Server

  • Friday 12/05/2023

Bảng tạm Temporary Tables trong SQL Server

Trong bài này chúng tôi sẽ hướng dẫn cách tạo và sử dụng bảng tạm Temporary table trong SQL Server, cách sử dụng bảng tạm hiệu quả nhất.Bảng tạm Temporary Tables

 

 

Định nghĩa về bảng tạm hay temporary table

Temporary Table hay còn gọi là bảng tạm, đây là một dạng table đặc biệt được lưu trữ tạm thời trên SQL Server, nó rất hữu ích để lưu kết quả của một câu truy vấn SELECT nào đó để sử dụng nhiều lần.

Bảng tạm cũng là một table nên nó có đầy đủ các tính chất của table, nghĩa là chúng ta có thể thực hiện các thao tác như SELECT, INSERT trên đó một cách bình thường.

Bảng tạm có hai loại, thứ nhất là Local Temporary Table và thứ hai là Global Temporary Table. Trong phần 1 này chúng ta sẽ tìm hiểu Local Temporary Table trước.

SQL Server cho phép chúng ta tạo bảng tạm bằng hai cách, thứ nhất là dùng cú pháp CREATE TABLE và thứ hai là INSERT INTO.

Dùng INSERT INTO

Cách đầu tiên chúng ta sẽ dùng INSERT INTO để tạo bảng tạm, chúng ta sử dụng cú pháp như sau:

Bảng tạm Temporary Tables

Tên của bảng tạm phải bắt đầu bằng dấu thăng #, xem ví dụ sau:

Bảng tạm Temporary Tables

Trong ví dụ này SQL Server sẽ tạo một bảng tạm tên là #trek_products, bảng này có 2 column đó là product_name và list_price, dữ liệu của nó là kết quả trả về từ câu truy vấn trên.

Chúng ta có thể mở công cụ SQL Server Tools Management lên và thực hiện các thao tác theo thứ tự System Databases -> tempdb -> Temporary Tables thì sẽ thấy table bảng tạm sau:

Bảng tạm Temporary Tables

Chúng ta sẽ thấy trong hình chụp này thì tên của bảng tạm sẽ được bổ sung một hậu tố phía sau. Điều này sẽ giúp tránh được trường hợp bị trùng tên bởi bảng tạm được lưu trữ chung trong một database tempdb.

Dùng CREATE TABLE

Lệnh Create Table sẽ tạo ra một bảng tạm rỗng nên sau khi tạo xong chúng ta phải sử dụng lệnh INSERT để thêm dữ liệu vào. Về cú pháp thì chỉ có sự khác biệt là tên của nó phải có dấu #.

Bảng tạm Temporary Tables

Lệnh này sẽ tạo ra bảng tạm #haro_products gồm hai column đó là product_name và list_price. Tuy nhiên nó không có dữ liệu nên mình sử dụng lệnh INSERT để thêm vào.

Bảng tạm Temporary Tables

Và đương nhiên sau này khi chúng ta thay đổi dữ liệu ở bảng gốc thì sẽ không ảnh hưởng gì đến dữ liệu của bảng tạm.

Global Temporary Table

Ở các ví dụ trên là Local Temporary Table, tức là nó chỉ tồn tại cho một phiên làm việc mà thôi. Không tin chúng ta hãy mở một connection khác và thực hiện câu SQL sau:

Bảng tạm Temporary Tables

Chúng ta sẽ bị lỗi: Invalid object name ‘#haro_products’.

Nếu chúng ta muốn bảng có thể được sử dụng cho nhiều phiên làm việc thì hãy chuyển nó thành Global bằng cách thêm hai dấu thăng ở tên table. Cú pháp như sau:

Bảng tạm Temporary Tables

Bây giờ chúng ta có thể truy vấn nó ở bất kì phiên làm việc nào.

Xóa Temporary Table

Mặc định của temporary sẽ bị xóa khỏi hệ thống khi một phiên làm việc chấm dứt. Ví dụ chúng ta đang làm ứng dụng website thì chúng ta nên thực hiện một kết nối thì có thể sử dụng toàn trang, còn chúng ta thực hiện 2 kết nối thì nếu kết nối thứ nhất tạo bảng tạm thì kết nối thứ hai không dùng được, đương nhiên cả hai kết nối phải chưa ngắt.

Nhưng đôi khi chúng ta muốn tự tay xóa thì hãy sử dụng lệnh DROP TABLE.

Bảng tạm Temporary Tables

Không có gì khác so với một table bình thường.

Qua bài viết, hy vọng mọi người được hiểu hơn về bảng tạm Temporary Tables trong SQL Server và giúp phân biệt được sự khác nhau giữa khóa chính và khóa ngoại trong SQL Server.

 


P.A Việt Nam cung cấp đa dạng các Plan Hosting đáp ứng yêu cầu của khách hàng
Hosting Phổ Thông
Hosting Chất Lượng Cao

Tham khảo các ưu đãi: https://www.pavietnam.vn/vn/tin-khuyen-mai/

Rate this post