Έχω μια αποθηκευμένη διαδικασία που επιστρέφει γραμμές:
CREATE PROCEDURE MyProc
AS
BEGIN
SELECT * FROM MyTable
END
Η πραγματική μου διαδικασία είναι λίγο πιο περίπλοκη, γι' αυτό και είναι απαραίτητη μια sproc.
Είναι δυνατόν να επιλέξετε την έξοδο καλώντας αυτή τη διαδικασία;
Κάτι σαν:
SELECT * FROM (EXEC MyProc) AS TEMP
Πρέπει να χρησιμοποιήσω SELECT TOP X
, ROW_NUMBER
, και μια πρόσθετη ρήτρα WHERE
για να κάνω σελίδα τα δεδομένα μου, και δεν θέλω πραγματικά να περάσω αυτές τις τιμές ως παραμέτρους.
Μπορείτε να
... sql ....
Declare @T Table ([column definitions here])
Insert @T Exec storedProcname params
Select * from @T Where ...
Θέλετε είτε μια συνάρτηση με τιμή πίνακα είτε να εισαγάγετε την EXEC σας σε έναν προσωρινό πίνακα:
INSERT INTO #tab EXEC MyProc
Φαίνεται ότι ίσως πρέπει να χρησιμοποιήσετε ένα view. Μια προβολή επιτρέπει την αναπαράσταση ενός ερωτήματος ως πίνακα, ώστε να μπορεί να ερωτηθεί η προβολή.