Μπορούμε να περάσουμε πίνακα στην αποθηκευμένη διαδικασία στον SQL Server;
Μπορούμε να περάσουμε πίνακα στην αποθηκευμένη διαδικασία στον SQL Server;

Βίντεο: Μπορούμε να περάσουμε πίνακα στην αποθηκευμένη διαδικασία στον SQL Server;

Βίντεο: Μπορούμε να περάσουμε πίνακα στην αποθηκευμένη διαδικασία στον SQL Server;
Βίντεο: SQL - ΜΑΘΗΜΑ 2.5 - ΑΠΟΘΗΚΕΥΜΕΝΕΣ ΔΙΑΔΙΚΑΣΙΕΣ - ΜΕΡΟΣ 1 από 6 - Αποθηκευμένες Διαδικασίες 2024, Νοέμβριος
Anonim

Δεν υπάρχει υποστήριξη για πίνακας σε διακομιστής sql αλλά υπάρχουν διάφοροι τρόποι με τους οποίους μπορείς να περάσεις συλλογή σε α αποθηκευμένο proc.

Εκτός από αυτό, μπορούμε να περάσουμε τη λίστα σε αποθηκευμένη διαδικασία;

Όχι, πίνακες/ οι λίστες μπορούν Δεν μεταβιβάζεται απευθείας στον SQL Server. Οι ακόλουθες επιλογές είναι διαθέσιμες: Πέρασμα ένα κόμμα οριοθετημένο λίστα και στη συνέχεια έχοντας μια συνάρτηση σε SQL χωρίζει το λίστα . Το κόμμα οριοθετημένο λίστα θα πιθανότατα να περάσει ως Nvarchar()

Δεύτερον, πώς περνάτε μια τιμή συμβολοσειράς διαχωρισμένη με κόμμα σε μια αποθηκευμένη διαδικασία στην SQL; Η ακόλουθη αποθηκευμένη διαδικασία λαμβάνει τις εγγραφές των Υπαλλήλων για τους οποίους τα αναγνωριστικά περνούν χρησιμοποιώντας μια συμβολοσειρά που χωρίζεται (οριοθετείται) με κόμμα.

  1. ΔΗΜΙΟΥΡΓΙΑ ΔΙΑΔΙΚΑΣΙΑΣ GetEmployees.
  2. @EmployeeIds VARCHAR(100)
  3. ΟΠΩΣ ΚΑΙ.
  4. ΝΑ ΑΡΧΙΣΕΙ.
  5. ΕΠΙΛΟΓΗ Όνομα, Επώνυμο.
  6. ΑΠΟ Εργαζόμενους.
  7. WHERE EmployeeId IN (
  8. ΕΠΙΛΟΓΗ ΜΕΤΑΦΟΡΑΣ (Στοιχείο ΩΣ ΑΚΕΡΑΙΟΣ)

Συνεπώς, γιατί ένας μεγάλος πίνακας δεν πρέπει να περάσει σε μια διαδικασία κατά τιμή;

Ο λόγος εσύ μπορώ 't πέρασμα ένα πίνακας με αξία είναι επειδή εκεί είναι δεν υπάρχει συγκεκριμένος τρόπος παρακολούθησης ενός της συστοιχίας μέγεθος τέτοιο ώστε η λογική της επίκλησης της συνάρτησης θα ξέρετε πόση μνήμη να διαθέσετε και τι να αντιγράψετε. Εσείς μπορεί να περάσει ένα παράδειγμα κλάσης επειδή κλάσεις έχω κατασκευαστές. Οι πίνακες όχι.

Ποιες είναι οι παράμετροι με τιμή πίνακα;

ΕΝΑ τραπέζι - αποτιμημένη παράμετρος είναι ένα παράμετρος με τραπέζι τύπος. Χρησιμοποιώντας αυτό παράμετρος , μπορείτε να στείλετε πολλές σειρές δεδομένων σε μια αποθηκευμένη διαδικασία ή μια παραμετροποιημένη εντολή SQL με τη μορφή τραπέζι . Το Transact-SQL μπορεί να χρησιμοποιηθεί για πρόσβαση στις τιμές στηλών του τραπέζι - αποτιμώμενες παραμέτρους.

Συνιστάται: