2009-01-08 35 views
17

Điều duy nhất tôi không có công cụ tự động khi làm việc với SQL Server là chương trình có thể tạo các tập lệnh INSERT INTO. Tôi không cần đến nó vì vậy tôi sẽ không chi tiền cho nó. Tôi chỉ tự hỏi nếu có bất cứ điều gì ra khỏi đó có thể được sử dụng để tạo ra các kịch bản INSERT INTO cho một cơ sở dữ liệu hiện có mà không cần tốn nhiều tiền.Có công cụ miễn phí nào để tạo tập lệnh 'INSERT INTO' trong MS SQL Server không?

Tôi đã tìm kiếm thông qua SQL Server Management Studio Express mà không có may mắn trong việc tìm kiếm một tính năng như vậy. Nếu nó tồn tại trong SSMSE thì tôi chưa bao giờ tìm thấy nó.

+1

Đây là cách quá ít thông tin. Bạn đang tạo chèn vào tập lệnh từ đâu? – casperOne

+0

Câu hỏi này rất hữu ích đối với tôi. Tôi vui mừng một người nào đó hỏi và thậm chí hạnh phúc hơn ai đó đã đưa ra câu trả lời đúng – Juanjo

Trả lời

19

Trang web này có nhiều tập lệnh hữu ích bao gồm generating inserts.

Bạn có thể sử dụng sp_msforeachtable để tạo toàn bộ DB.

Cập nhật: Có chức năng được tích hợp sẵn cho dữ liệu tập lệnh dưới dạng INSERT trong SQL Server Management Studio 2008 (trở đi).

SQL Server 2008:

Nhấp chuột phải vào cơ sở dữ liệu của bạn trong SSMS, chọn Tasks –> Generate Scripts, đảm bảo cơ sở dữ liệu của bạn được đánh dấu và click next. Cuộn xuống danh sách tùy chọn đến phần "Tùy chọn Bảng/Xem" và thay đổi "Dữ liệu Tập lệnh" thành Đúng.

enter image description here

SQL Server 2012:

Nhấp chuột phải vào cơ sở dữ liệu của bạn trong SSMS, chọn Tasks –> Generate Scripts. Chọn các bảng bạn muốn tạo INSERT cho kịch bản, sau đó nhấp vào Next. Chọn nơi bạn muốn gửi đầu ra đến (chẳng hạn như một Cửa sổ Truy vấn mới), rồi bấm vào nút Advanced (vì lý do nào đó là trong phần Lưu vào Tệp!). Cuộn xuống danh sách tùy chọn thành tùy chọn "Loại dữ liệu thành tập lệnh" và thay đổi thành "Chỉ dữ liệu" hoặc "Giản đồ và dữ liệu". Nhấp vào Next hai lần.

enter image description here

enter image description here

+0

Tôi đã sử dụng tập lệnh đó hôm nay =) – StingyJack

+4

Nhưng phải tìm một bản sửa đổi đã làm việc với SQL2005 + ... http: //www.benzzon.se/forum/printer_friendly_posts .asp? TID = 86 – StingyJack

+0

Tôi đã yêu trang web đó trong năm qua! –

1

Không chắc chắn về các phiên bản hiện nhưng phiên bản bình thường của SMS, bạn có thể nhấp chuột phải vào một tab và kịch bản bảng như chọn, cập nhật chèn vào một cửa sổ mới, vào clipboard hoặc tập tin.

Bạn cũng có thể xem MyGeneration hoặc CodeSmith làm trình tạo mã. Tôi tin rằng họ là miễn phí và nên có mẫu soem mà cho một DB sẽ tạo ra một loạt các procs lưu trữ cho bạn.

0

Trong SQL Server Management Studio Express, bấm chuột phải vào một bảng trong thanh bên Object Explorer và chọn "Script Table As/INSERT To/New Query Editor Window".

+2

Điều đó không kịch bản nội dung của bảng. – ProfK

+0

Câu trả lời này không phải là câu trả lời: nó hoàn toàn sai. Vui lòng xóa. (Tôi đã đánh dấu không phải là câu trả lời, nhưng là một người điều hành trong sự khôn ngoan của họ, đã từ chối nó) –

4

Có một proc được lưu trữ được gọi là "sp_generateinserts", bạn có thể google cho nó. Nó sẽ lấy một bảng và chuyển nó thành các câu lệnh chèn.

17

bạn cũng có thể sử dụng add-in này cho SSMS cung cấp chức năng này: http://www.ssmstoolspack.com/

nó cũng cung cấp tính năng hữu ích khác nữa.

+0

+1. Tôi cần làm điều này ngày hôm nay và Gói Công cụ SSMS hoạt động rất tốt. Cảm ơn bạn về thông tin. –

+0

Chỉ cần tải xuống, trông khá tiện dụng. – Fishcake

0

Không nhiều người biết điều này nhưng bạn có thể sử dụng âm phụ (http://subsonicproject.com/) để viết cả cấu trúc cơ sở dữ liệu và dữ liệu bên trong nó.

Các lệnh này khá đơn giản (tôi sử dụng dòng lệnh) ví dụ.

sonic.exe scriptdata/server testserver/db testdb.

Điều này sẽ tập lệnh tất cả dữ liệu vào câu lệnh chèn cho bạn :), đẹp và sạch. Bạn cũng có thể móc vào studio trực quan nếu bạn muốn làm cho nó dễ dàng hơn và không sử dụng dòng lệnh.

1

Nếu bạn chỉ đang tìm cách chèn dữ liệu thử nghiệm và có ít hơn 64K hàng để chèn, bạn có thể sử dụng Excel (đó là những gì tôi làm).

Ví dụ, nếu bạn đặt các giá trị trong các ô A1, B1, và C1, sau đó bước vào công thức sau đây trong D1, bạn sẽ nhận được một tuyên bố có thể sử dụng chèn:

= "INSERT INTO THI (col1, col2 , col3) VALUES ("& a1 &", "& b1 &", "& c1 &"); "

Sau đó, chỉ cần điền và bạn có thể sửa đổi dữ liệu bất kỳ lúc nào bạn muốn.

0

Bạn có thể tạo ra chèn vào tuyên bố từ thủ tục lưu trữ này. http://raresql.com/2011/12/20/how-to-generate-insert-statements-from-table-data-using-sql-server/ Nhưng thường chúng ta đang tạo ra chèn vào tuyên bố như thế này:

Insert into [table] (...) values (...) 

Nhưng, Trong thủ tục này, bạn có thể tạo ra chèn vào tuyên bố như thế này

Insert into [table] 
    select * from [table] Union ALL 
    select * from [table] 

Vì vậy, bạn có thể xem các dữ liệu trước khi chèn.

Imran

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