2010-07-13 74 views

Trả lời

38

Nhấp chuột phải vào bảng trong SQL Management Studio.

Chọn Tập lệnh ... Tạo thành ... Cửa sổ truy vấn mới.

Thao tác này sẽ tạo tập lệnh để tạo lại bảng trong cửa sổ truy vấn mới.

Thay đổi tên của bảng trong tập lệnh thành bất kỳ thứ gì bạn muốn đặt tên bảng mới.

Thực thi tập lệnh.

+2

Vô lý, ngay cả trong năm 2012! Cảm ơn Avalanchis! – Bojangles

22
SELECT * 
INTO target 
FROM source 
WHERE 1 = 2 
+6

Điều này sẽ chỉ chụp một số cấu trúc. Cùng tên cột, kiểu dữ liệu và cài đặt có thể đặt giá trị. Nhưng mọi thứ khác sẽ bị bỏ lại phía sau. Off đầu của phần đầu của tôi còn lại sẽ bao gồm PK, Anh, FK và kiểm tra ràng buộc, thuộc tính nhận dạng và cột tính toán. Nó phụ thuộc vào cấu trúc mà OP muốn liệu điều này có đáp ứng được các nhu cầu của OP hay không. –

+0

nơi khoản là tùy chọn. – Dhinakar

+0

Tại sao '1 = 2'? wont này là sai luôn luôn? –

-2

Phòng quản lý máy chủ SQL của tôi tiếp tục hỏi tôi làm cách nào để cải thiện, tôi có ý tưởng! Khả năng làm nổi bật một bảng và sau đó, ctrl C, ctrl V! sẽ là tuyệt vời và câu trả lời cho câu hỏi này cùng một lúc!

+0

Bạn đang trả lời bằng cách phát minh một tính năng mới và nói rằng nó sẽ giải quyết được vấn đề? – Yunnosch

1

Đối với việc tạo ra một bảng mới từ bảng hiện

SELECT * VÀO New_table TỪ Old_Table

Đối Chèn dữ liệu từ một bảng khác bảng

Chèn vào Table_Name2 chọn top 1 * từ Table_Name1

+0

Chào mừng bạn đến với StackOverflow và cảm ơn vì đã cố giúp đỡ. Vui lòng giải thích điểm chính của câu trả lời của bạn, mã chỉ không hữu ích. Đặc biệt, có một câu trả lời khác gần giống với câu trả lời của bạn. Nó chỉ tránh sao chép nội dung. Không thực hiện các giá trị sao chép có vẻ là một phần của hành vi mong muốn OP. Bạn có thể giải thích lý do của bạn? – Yunnosch

2

Tại đây, tôi sẽ cho bạn thấy 2 triển khai khác nhau:

Trước tiên :

Nếu bạn chỉ cần tạo một bảng trùng lặp sau đó chỉ cần chạy lệnh:

SELECT top 0 * INTO [dbo].[DuplicateTable] 
FROM [dbo].[MainTable] 

Tất nhiên, nó không hoạt động hoàn toàn. các ràng buộc không được sao chép, cũng như các khóa chính hoặc các giá trị mặc định. Lệnh này chỉ tạo một bảng mới có cùng cấu trúc cột và nếu bạn muốn chèn dữ liệu vào bảng mới.

Thứ hai (đề nghị):

Nhưng nếu bạn muốn lặp lại bảng với tất cả những hạn chế của nó & phím sau này bước dưới đây:

  1. mở cơ sở dữ liệu trong SQL Management Studio.
  2. Nhấp chuột phải vào bảng mà bạn muốn sao chép.
  3. Chọn Bảng Tập lệnh dưới dạng -> Tạo thành -> Cửa sổ Trình chỉnh sửa Truy vấn Mới. Điều này sẽ tạo ra một kịch bản để tạo lại bảng trong một cửa sổ truy vấn mới.
  4. Thay đổi tên bảng và các khóa tương đối & các ràng buộc trong tập lệnh.
  5. Thực thi tập lệnh.
0
SELECT * INTO newtable FROM oldtable where 1=2 


    where 1=2, this statement is use when only Copy complete structure of a 
    table in sql without Copying data of table 

SELECT * INTO newtable FROM oldtable 
create table with data you can use this statement 
Các vấn đề liên quan