Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Xuất bộ kết quả thủ tục đã lưu trữ sang Excel trong SSMS

Tôi khuyên bạn nên chia thủ tục đã lưu trữ của mình thành hai thủ tục, mỗi thủ tục tương ứng trả về một bảng riêng biệt và có các thủ tục đó được gọi đến các trang tính khác nhau.

Có nhiều cách để trả dữ liệu về Excel bằng SQL

Đây là một mục yêu thích của tôi từ mã của Joshua (bạn không cần phải sử dụng các tham số):

  1. Chọn tab Dữ liệu trên Ruy-băng của Excel, sau đó trong nhóm Lấy Dữ liệu Cuối cùng, hãy chọn menu thả xuống "Từ các Nguồn khác". Sau đó chọn "Từ truy vấn của Microsoft"

  2. Trong hộp bật lên "Chọn Nguồn Dữ liệu", hãy chọn Máy chủ SQL của bạn, sau đó nhấn OK.

  3. Đóng cửa sổ bật lên "Thêm bảng" nếu cần.

  4. Nhấp vào nút "SQL" hoặc chọn Xem> SQL để mở trình chỉnh sửa cửa sổ bật lên SQL.

  5. Nhập cú pháp sau:{CALL myDatabaseName.dbo.myStoredProc (?,?,?)}

    Ví dụ:{CALL Northwind.dbo.spGetMaxCost (?,?,?)}

    Đảm bảo bao gồm các dấu ngoặc nhọn xung quanh câu lệnh cuộc gọi. Mỗi Dấu hỏi (?) Chỉ ra một tham số. Nếu thủ tục được lưu trữ của bạn yêu cầu nhiều tham số hơn hoặc ít hơn, hãy thêm hoặc bớt dấu chấm hỏi nếu cần.

  6. Nhấn nút OK. Một hộp câu hỏi sẽ bật lên với nội dung "Truy vấn SQL không thể được biểu diễn bằng đồ thị, vẫn tiếp tục?", Chỉ cần nhấn vào nút OK.

  7. Bây giờ bạn sẽ được hỏi về các thông số mẫu cho mỗi dấu hỏi mà bạn đã đưa vào ở trên. Nhập các giá trị tham số hợp lệ cho dữ liệu bạn đang truy vấn.

  8. Khi bạn đã nhập tham số cuối cùng, bạn sẽ nhận lại một số kết quả trong Microsoft Query. Nếu chúng trông ổn, hãy đóng Microsoft Query.

  9. Bây giờ bạn sẽ thấy cửa sổ bật lên "Nhập dữ liệu". Nhấp vào nút Thuộc tính, nút này sẽ hiển thị cửa sổ bật lên "Thuộc tính kết nối".

  10. Chọn tab Định nghĩa, sau đó chọn nút Tham số. Bây giờ, bạn sẽ thấy cửa sổ bật lên "Tham số", nơi bạn có thể kết nối tham số với một ô cụ thể.

  11. Chọn Lấy giá trị từ ô sau, rồi kết nối với một ô thích hợp trong Excel sẽ chứa tham số của bạn, bằng cách bấm vào ô nhỏ có mũi tên.

  12. Nếu bạn muốn dữ liệu được làm mới mỗi khi bạn thay đổi ô chứa tham số, hãy chọn hộp cho biết "Tự động làm mới khi giá trị ô thay đổi"

  13. Tiếp tục như trên đối với các thông số khác. Khi hoàn tất, bấm OK, để quay lại cửa sổ bật lên Thuộc tính kết nối. Nhấp vào OK để quay lại cửa sổ bật lên Nhập dữ liệu và nhấp lại vào OK.

  14. Bây giờ bạn sẽ có một số dữ liệu trực tiếp từ quy trình đã lưu trữ của mình.

Bạn sẽ nhận được thông tin kết nối tương tự như:

Thông tin kết nối

Và, nếu bạn sử dụng các tham số từ trang tính thì, ví dụ của tôi,



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sử dụng INSERT INTO từ SQL Server để thay đổi dữ liệu Salesforce

  2. Microsoft công bố SQL Server 2012 R2 và SQL Server 2012 R3!

  3. Hiểu kích thước lưu trữ ‘thời gian’ trong SQL Server

  4. Cách chuyển đổi dấu thời gian Unix thành giá trị ngày / giờ trong SQL Server

  5. ATAN () Ví dụ trong SQL Server