Không, điều đó là không thể. Bạn có thể bị cám dỗ sử dụng
INSERT INTO MyLargeTable SELECT * FROM OtherTable
Nhưng điều đó sẽ không hiệu quả, vì cột nhận dạng của bạn sẽ được bao gồm trong *.
Bạn có thể sử dụng
SET IDENTITY_INSERT MyLargeTable ON
INSERT INTO MyLargeTable SELECT * FROM OtherTable
SET IDENTITY_INSERT MyLargeTable OFF
giá trị bản sắc đầu tiên bạn kích hoạt chèn, hơn bạn sao chép các hồ sơ, sau đó bạn bật cột sắc một lần nữa.
Nhưng điều này sẽ không hoạt động. Máy chủ SQL sẽ không chấp nhận * trong trường hợp này. Bạn phải bao gồm rõ ràng Id trong tập lệnh, như:
SET IDENTITY_INSERT MyLargeTable ON
INSERT INTO MyLargeTable (Id, co1, col2, ...., col80) SELECT Id, co1, col2, ...., col80 FROM OtherTable
SET IDENTITY_INSERT MyLargeTable OFF
Vì vậy, chúng tôi trở lại từ nơi chúng tôi bắt đầu.
Cách dễ nhất là nhấp chuột phải vào bảng trong Management Studio, để cho nó tạo tập lệnh INSERT và SELECT và chỉnh sửa chúng một chút để chúng hoạt động cùng nhau.
Bạn cần chỉ định các cột ... – JNK
Âm thanh như trường hợp lập trình lười biếng. Nếu bạn nhấp chuột phải vào tên bảng, bạn có thể "tập lệnh dưới dạng -> chèn vào" và tất cả các cột không xác định sẽ được viết cho bạn. Shazam. –
YoOu sẽ được hưởng lợi hiệu suất cơ sở dữ liệu cho lâu dài không phải là chính bạn. Bạn chấp nhận câu trả lời tồi tệ nhất của bó bởi vì nó tăng gấp đôi công việc mỗi khi nó được chạy trên những gì truy vấn chính xác sẽ mất và tất cả để tiết kiệm cho mình một chút thời gian. – HLGEM