Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Έξοδος μεταβλητών από ένα procedure σε άλλο

Îåêßíçóå áðü ôï ìÝëïò JohnL. Τελευταία δημοσίευση από το μέλος JohnL στις 16-04-2008, 16:54. Υπάρχουν 2 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  01-04-2008, 15:50 41246

    Έξοδος μεταβλητών από ένα procedure σε άλλο

    Έστω ότι έχουμε το ακόλουθο σε ένα Stored Procedure:

    EXEC @ArtistID = AddArtist @ArtistName

    Αυτό που κάνει το procedure AddArtist είναι να ψάχνει αν υπάρχει ο Artist (με βάση την παράμετρο ArtistName). Αν υπάρχει, επιστρέφει το περιεχόμενο της στήλης id που αντιστοιχεί σε αυτόν, αλλιώς κάνει INSERT μία νέα εγγραφή με περιεχόμενο το ArtistName και επιστρέφει το id αυτής.

    Έχω γράψει αυτό, αλλά κάτι δε δουλεύει σωστά και δεν εξάγει το key που ψάχνω (βγάζει πάντα 0, το default):

    CREATE PROCEDURE AddArtist
    @ArtistName nvarchar(max)
    AS
    SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
    BEGIN TRANSACTION
      IF NOT EXISTS (SELECT id FROM artists WHERE displayname=@ArtistName)
      BEGIN
        INSERT INTO artists (displayname) VALUES (@ArtistName)
        SELECT @@IDENTITY
      END
      ELSE
        SELECT id FROM artists WHERE displayname=@ArtistName
      
    COMMIT TRANSACTION
    RETURN

    Υ.Γ. Ξέρω ότι δεν είναι ο καλύτερος αλγόριθμος από πλευράς απόδοσης, αλλά προς το παρόν θέλω απλά να δουλεύει και η βελτιστοποιηση έπεται...
  •  16-04-2008, 14:00 41559 σε απάντηση της 41246

    Απ: Έξοδος μεταβλητών από ένα procedure σε άλλο

    Ποιά βάση χρησιμοποιείς ???

    Σύνταξη στα 18,
    Στράτευση στα 100.
  •  16-04-2008, 16:54 41563 σε απάντηση της 41559

    Απ: Έξοδος μεταβλητών από ένα procedure σε άλλο

    SQL Server 2005, αλλά βρήκα τι έκανα λάθος...
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems