Trong SQL Server (Transact-SQL), lệnh SELECT INTO được dùng để tạo bảng từ 1 bảng sẵn có bằng cách sao chép các cột từ bảng ban đầu.
Cần nhớ là khi tạo bảng bằng cách này thì bảng mới cũng sẽ được điền các bản ghi từ bảng cũ (dựa trên lệnh SELECT).
Cú pháp lệnh SELECT INTO
SELECT bieu_thuc
INTO bang_moi
FROM bang
[WHERE dieu_k
ien];
Tên biến hoặc giá trị biến
bieu_thuc
Cột hoặc giá trị muốn lấy.
bang_moi
Bảng mới tạo bằng biểu thức đã chọn và các định nghĩa liên quan. (bang_moi hiện không có).
bang
Bảng muốn lấy bản ghi từ đó. Phải có ít nhất 1 bảng trong mệnh đề FROM.
WHERE dieu_kien
Tùy chọn. Điều kiện phải đáp ứng để bản ghi được chọn.
Lưu ý
Khi dungfl ệnh SELECT INTO trong SQL Server, bang_moi phải chưa từng tồn tại trước đó. Nếu có thì lệnh SELECT INTO sẽ bị lỗi.
Ví dụ lệnh SELECT INTO
SELECT nhanvien_id,ho, ten
INTO danhba
FROM nhanvien
WHERE nhanvie
n_id < 1000;
Ở ví dụ này, lệnh SELECT INTO sẽ chọn ID, họ và tên của nhân viên trong bảng nhanvien và chép các trường này cũng với định nghĩa sang 1 bảng danhba mới.
Nếu có bản ghi trong bảng nhanvien thì bảng danhba mới cũng sẽ có các bản ghi được trả về từ lệnh SELECT.
Nếu muốn đổi tên cột trong bảng mới thay vì dùng tên cũ, bạn có thể đặt bí danh ALIAS cho cột trong lệnh SELECT INTO.
SELECT nhanvien_id AS danhba_id, ho, ten
INTO danhba
FROM nhanvien
WHERE nhanvien_id < 1000
;
Ở ví dụ trên, ta không muốn cột đầu tiên trong bảng danhba mới là nhanvien_id nên tốt hơn là đổi tên cột đầu tiên thành danhba_id trong bảng danhba. Việc này thực hiện bằng cách đặt bí danh cho cột nhanvien_id như dưới đây.
nhanvien_id AS danhba_id
15 Th12 2020
16 Th12 2020
4 Th1 2021
16 Th12 2020
16 Th12 2020
16 Th12 2020