2012-01-10 36 views
7

Sử dụng SQL Server Management Studio là có cách tôi có thể chọn một hoặc nhiều hàng trong lưới của các kết quả được chọn và có SQL Server Mangement Studio tạo một hoặc nhiều câu lệnh chèn (một cho mỗi hàng được chọn)) sẽ chèn dữ liệu đó vào một bảng với cùng một lược đồ?Tạo tập lệnh chèn từ kết quả đã chọn

Chỉnh sửa: Tôi biết cách tạo thủ công, nhưng tôi đã hy vọng sẽ có thứ gì đó tự động tạo cho tôi. Nếu bạn đã quen thuộc với Toad có một cách để có Toad tạo ra chèn dựa trên dữ liệu trong bảng kết quả và tôi đã hy vọng SSMS có một chức năng tương đương.

+2

bản sao có thể có của [Chuyển đổi Chọn kết quả thành Chèn tập lệnh] (http: // stackoverflow.com/questions/4526461/converting-select-results-into-insert-script) –

Trả lời

4
select 'insert into tableB values (', tableA.x ,',',tableA.y,',',tableA.z,')' from tableA 
4

Tôi nghĩ rằng bạn có hai lựa chọn ở đây:

  1. Tạo chèn của bạn bằng tay. Ví dụ:

    select Name, Surname, 
        'insert into Person (Name,surname) values ('''+Name+''','''+Surname+')' 
        from Person 
    

    Điều này cho bạn kết quả và, trong cột cuối cùng, tập lệnh chèn cho hàng. Sau đó, bạn có thể chọn và dán nó vào cửa sổ Trình biên tập.

  2. Nhấp chuột phải vào db -> Công việc -> Tạo tập lệnh. Nhấn sau đó Advance và chọn "Data Only" (Mặc định là Schema Only).

0

Thực hiện truy vấn của bạn và nhấp chuột phải vào vùng trống nơi tiêu đề cột đáp ứng số hàng trong chế độ xem Kết quả.

Sau đó bạn có thể chọn Script Lưới Kết quả:

enter image description here

+5

bạn đang sử dụng phiên bản ssms nào? Tôi đang sử dụng năm 2012 và tôi không thấy các kết quả GRIP RESULTS hoặc SEARCH GRID RESULTS. – greg

+0

Tôi cũng không có. Tôi nghĩ rằng chức năng được cung cấp bởi một plug-in. OP? –

+2

điều này được thực hiện bởi [Gói công cụ SSMS] (http://www.ssmstoolspack.com/), rất tiếc là phiên bản SMSS 2012 không miễn phí – tburi

9

Cố gắng để lưu các kết quả truy vấn vào một dùng một lần bảng .

Ví dụ:

SELECT * VÀO disposable_customer_table TỪ customer_table WHERE id IN (trong phạm vi của một cái gì đó)

Sau đó làm một db -> Nhiệm vụ -> Tạo Script.

  • Chọn các đối tượng cơ sở dữ liệu cụ thể.
  • Chọn disposable_customer_table từ danh sách tên bảng.
  • Chọn Lưu vào tệp.
  • Đảm bảo thực hiện thiết lập Nâng cao và chọn "Chỉ dữ liệu" từ 'Loại dữ liệu đến tập lệnh'.

Tinh chỉnh tệp kết quả và đổi tên dùng một lần_customer_table quay lại tên bảng ban đầu.

Làm sạch nó và thả disposable_customer_table.

Các vấn đề liên quan