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

 

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

Find All The User Defined Functions (UDF) in a Database

Îåêßíçóå áðü ôï ìÝëïò nikolaosk. Τελευταία δημοσίευση από το μέλος Παναγιώτης Καναβός στις 23-02-2008, 21:56. Υπάρχουν 4 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  23-02-2008, 14:41 40434

    Find All The User Defined Functions (UDF) in a Database

    σε αυτό το άρθρο του ο Pinal dave

     http://blog.sqlauthority.com/2008/02/02/sql-server-find-all-the-user-defined-functions-udf-in-a-database/

    μας δείχνει πως μπορούμε να βρούμε όλες τις user defined functions σε μια db


    Νικόλαος Καντζέλης
    BSc, MSc, MCAS, MCPD, MCITP, MCTS,MCP, MCT
    http://www.nksolutions.gr
    http://dotnetstories.wordpress.com
    http://weblogs.asp.net/dotnetstories
    http://forum.dotnetnuke.gr
    Δημοσίευση στην κατηγορία: , , ,
  •  23-02-2008, 15:45 40438 σε απάντηση της 40434

    Απ: Find All The User Defined Functions (UDF) in a Database

    (Ξύνοντας το κεφάλι μου απορημένος) Τι σε εντυπωσίασε σε αυτό Νικόλα;

    Δεν νομίζω οτι είναι δα καμμιά μεγάλη ανακάλυψη, μια και χρησιμοποιεί τον πίνακα sysobjects (τον οποίο τον γράφει και σαν sys.objects, πράγμα το οποίο είναι λάθος). Γενικά, ειναι ένα αδιάφορο κομματάκι κώδικα, μια και αν ξέρει κανείς την ύπαρξη του πίνακα sysobjects μπορεί να ρωτησει εκατοντάδες πράγματα για την database, μεταξύ και των οποίων και οι UDFs. (Το λεω γιατί θα μπορούσε κανείς να έχει ένα thread για κάθε περίπτωση, π.χ. "Πως να δείτε όλα τα tables", "Πώς να δείτε όλες τις stored procedures"). Ολα γίνονται με παρομοια queries.

    Για SQL Server 2000, (και 2005 αραγε; δεν ξέρω) υπάρχει επίσης και η λογική των information_schema views, με τα οποία τα πράγματα όχι μόνο είναι πιό standard, αλλά και πιό εύκολα. Εδώ περισσότερα: http://www.aspfree.com/c/a/MS-SQL-Server/A-Primer-on-INFORMATIONSCHEMA-Views-in-SQL-Server-2000/


    Σωτήρης Φιλιππίδης

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

    DotNetNuke them!
  •  23-02-2008, 19:59 40440 σε απάντηση της 40438

    Απ: Find All The User Defined Functions (UDF) in a Database

    • o κωδικας παιζει μια χαρα
    • ναι δεν ειναι ιδιαιτερα εντυπωσιακο.δεν ειναι καμια ανακαλυψη φυσικα. πολυ λιγα πραγματα ειναι. καποιος με παρα πολυ καλες γνωσεις, μπορει να ισχυριστει το ιδιο για το 70% των posts Σε αυτο το forum.γενικα τιποτα απο οτι γραφεται εδω δεν μπορει να θεωρηθει ανακαλυψη, με το σκεπτικο οτι τιποτα απο αυτα δεν τα ανακαλυψαμε from scratch, αλλα τα μαθαμε απο δουλεια,πανεπιστημιο,forums και φιλους.
    • φυσικα μπορεις να ρωτησεις οτι θελεις τον πινακα sysobjects
    • πιθανον μερικοι με λιγοτερες γνωσεις να βρισκουν κατι περισοτερο εντυπωσιακο
    • σε καποια σεμιναρια που κανω σε sql γενικα οι συμμετεχοντες καταλαβαινουν και κανουν queries σε user tables αλλά δεν ειναι τοσο εξοικειωμενοι στο να ρωτανε συστεμικους πινακες. γενικα δεν τους παει το μυαλο να κανουν κατι τετοιο....μην με ρωτας γιατι.
    • επίσης βλεπωντας αυτο το κομματι κωδικα, οπως λες και εσυ, μπορεις να ρωτησεις για Tables,indexes,stored procedures
    • ωραίο το Link

    Νικόλαος Καντζέλης
    BSc, MSc, MCAS, MCPD, MCITP, MCTS,MCP, MCT
    http://www.nksolutions.gr
    http://dotnetstories.wordpress.com
    http://weblogs.asp.net/dotnetstories
    http://forum.dotnetnuke.gr
    Δημοσίευση στην κατηγορία: , , ,
  •  23-02-2008, 20:51 40441 σε απάντηση της 40440

    Απ: Find All The User Defined Functions (UDF) in a Database

    Aυτό που πιστεύω ότι παραξενέψε τον Σωτήρη είναι το ότι ο nikolaosk ξεφεύγει από την φιλοσοφία των forum posts. Συνήθως η αφορμή για ένα post είναι ένα How do i... ή ένα Whaoh! Το συγκεκριμένο post του nikolaosk είναι περισσότερο ένα  How To... που αρμόζει περισσοτερο σε ένα blogpost, σε ένα άρθρο η σε μια απάντηση κάποιας ερώτησης.


    View Παναγιώτης Χαραλάμπους's profile on LinkedIn
    Coding at Mediterranean Acoustics
  •  23-02-2008, 21:56 40442 σε απάντηση της 40440

    Απ: Find All The User Defined Functions (UDF) in a Database

    Tο ότι παίζει ο κώδικας δεν σημαίνει ότι είναι και σωστός. Μία λάθος τεχνική μπορεί να δημιουργήσει προβλήματα σε όσους την ακολουθούν. Ειδικά όταν διδάσκει κανείς πρέπει να προσέχει πολύ τί παραδείγματα χρησιμοποιεί. Οι μαθητές παρανοούν πολύ συχνά αυτά που λες και μπορεί να θεωρήσουν ένα όχι και τόσο πετυχημένο παράδειγμα ως τον σωστό τρόπο δουλειάς. Είσαι σίγουρος ότι οι μαθητές σου, βλέποντας ένα τέτοιο παράδειγμα, δεν θα το θεωρήσουν ως άδεια να σκαλίζουν τους system πίνακες ανεξέλεγκτα? Δεν θα ήταν προτιμότερο να τους δείξεις ένα πιο σωστό παράδεγιμα?

    Κατά κανόνα οι εφαρμογές δεν χρειάζεται να χρησιμοποιήσουν τους system πίνακες. Οι administrators τους χρειάζονται αλλά οι προγραμματιστές σπανίως τους χρειάζονται, εκτός και αν δημιουργούν system scripts, deployment scripts ή κάτι άλλο άσχετο με την εφαρμογή την ίδια. Ίσα-ίσα, η εξάρτηση μίας εφαρμογής από τους system πίνακες είναι ένδειξη ότι κάτι μπορεί να πηγαίνει στραβά.

    Επιπλέον, οι system πίνακες μπορούν και αλλάζουν από έκδοση σε έκδοση. Στον SQL Server 2000 υπήρχε ο πίνακας sysobjects, αλλά τώρα υπάρχει ο sys.objects και η χρήση του sysobjects δεν προτείνεται πλέον. Δεν αποκλείεται στο μέλλον να εξαφανιστεί ο sysobjects ή να αλλάξει συμπεριφορά. Το script που ανέφερες παίζει μόνο σε SQL Server 2005, όχι σε SQL Server 2000. Είναι καλύτερο να χρησιμοποιεί κανείς τα INFORMATION_SCHEMA views, τα οποία είναι κομμάτι του SQL standard. Αυτό σημαίνει ότι θα τα βρει κανείς και σε άλλες βάσεις, όχι μόνο στον SQL Server.
    Κάποιος μάλιστα απάντησε στο blog post που ανέφερες με ένα query το οποίο χρησιμοποιεί το view INFORMATION_SCHEMA.ROUTINES:

    select specific_name,specific_schema
    from information_schema.routines
    where routine_type=’function


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems