Quyền truy cập để đọc từ db đã được trao cho tôi qua các thủ tục được lưu trữ mssql trả về các tập hợp kết quả thay vì các bảng hoặc các khung nhìn. Nhưng tôi muốn có thể đọc dữ liệu bằng cách sử dụng ORM.Có thể DBIx :: Lớp được sử dụng với các thủ tục được lưu trữ thay vì các bảng không?
Tôi đã cố gắng sử dụng DBIx::Class::ResultSource::View
để thực hiện cuộc gọi thủ tục (ví dụ: EXEC my_stored_proc ?
) làm truy vấn tùy chỉnh nhưng điều này không hiệu quả vì nó cố chuyển đổi cuộc gọi thủ tục thành câu lệnh chọn.
Có ai có đề xuất nào khác không?
Phần 'DBIx :: Class :: Manual :: Cookbook' docs' Sử dụng chức năng cơ sở dữ liệu hoặc thủ tục lưu sẵn ', mặc dù @stevenl đã chỉ ra rằng nó sẽ không hỗ trợ MS SQL Server, vì nó dường như không thể truy cập một thủ tục lưu sẵn thông qua câu lệnh SELECT. – LeeGee
cũng không phải Mysql, và dự đoán của tôi cũng không phải là Oracle. Tôi tự hỏi liệu DBIx: Class author tác giả chỉ là làm cho nó lên. – djsadinoff
Thật vậy - và hành vi mong đợi là gì? Làm cách nào DBIC biết được ResultSet nào kết hợp dữ liệu được trả về bởi thủ tục hoặc hàm được lưu trữ? Tôi nghĩ rằng tác giả có nghĩa là 'chức năng' như trong hàm SQL, như 'chiều dài' là ví dụ. Điều đó không giải thích cách 'thủ tục lưu trữ' được thêm vào. – LeeGee