Trong SQL Server (Transact-SQL), lệnh SELECT INTO dùng để tạo một bảng từ bảng hiện có bằng cách sao chép các cột từ bảng gốc.
Lưu ý: khi tạo bảng theo cách này, bảng mới cũng sẽ được điền dữ liệu từ bảng cũ (dựa trên câu lệnh SELECT).
Cú pháp lệnh SELECT INTO
SELECT bieu_thuc
INTO bang_moi
FROM bang
[WHERE dieu_kien];
Tham số
bieu_thuc: Cột hoặc giá trị muốn truy xuất.
bang_moi: Bảng mới được tạo với các biểu thức đã chọn và định nghĩa liên quan. (bang_moi chưa được tồn tại).
bang: Bảng muốn lấy bản ghi. 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 thỏa mãn cho bản ghi được chọn.
Lưu ý
Khi dùng lệnh SELECT INTO trong SQL Server, bang_moi không được tồn tại trước đó. Nếu đã tồn tại, lệnh SELECT INTO sẽ thất bại.
Ví dụ lệnh SELECT INTO
SELECT nhanvien_id, ho, ten
INTO danhba
FROM nhanvien
WHERE nhanvien_id < 1000;
Trong ví dụ này, lệnh SELECT INTO sẽ chọn ID, họ và tên nhân viên trong bảng nhanvien và sao chép các trường này cùng định nghĩa sang bảng danhba mới.
Nếu có bản ghi trong bảng nhanvien, danh sách mới cũng sẽ có các bản ghi trả về từ câu lệnh SELECT.
Nếu muốn đổi tên cột trong bảng mới thay vì dùng tên cũ, 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;
Trong ví dụ trên, không muốn cột đầu tiên trong bảng danhba là nhanvien_id, nên đổi tên cột đầu thành danhba_id. Điều này thực hiện bằng cách đặt bí danh cho cột nhanvien_id như sau:
nhanvien_id AS danhba_id