Εμφάνιση αναρτήσεων με ετικέτα T-SQL. Εμφάνιση όλων των αναρτήσεων
Εμφάνιση αναρτήσεων με ετικέτα T-SQL. Εμφάνιση όλων των αναρτήσεων

Τετάρτη, 23 Δεκεμβρίου 2015

T-SQL script για μαζική διαγραφή των table constraints μιας database...

Τις τελευταίες μέρες, όπως φάνηκε και από το προηγούμενο post, η δουλειά τα έφερε έτσι ώστε να ξοδέψω τον περισσότερο μου χρόνο στο γραφείο δουλεύοντας με τον SQL Server... Ανέκαθεν τον θεωρούσα το καλύτερο από τα σχετικά προϊόντα διότι κατά τη γνώμη μου έχει το υψηλότερο μέσο όρο όσον αφορά τις επιδόσεις των χαρακτηριστικών του, μπορεί να μην είναι ο καλύτερος συγκριτικά με άλλες databases σε επί μέρους χαρακτηριστικά αλλά συνολικά είναι (για μένα) η καλύτερη database ...

Δουλεύοντας λοιπόν, χρειάστηκε σε κάποιο σημείο να διαγράψω κάποια tables από μια development database τα οποία όμως είχαν διάφορα foreign keys που με την σειρά τους εμπόδιζαν τη διαγραφή των tables, οπότε έπρεπε να διαγραφούν πρώτα τα foreign keys και σίγουρα δεν ήθελα να το κάνω manually από το gui του Management Studio, ψάχνοντας και σβήνοντας τα ένα ένα ...

Το παρακάτω script ήταν μια ευκαιρία να πετύχω αυτό που ήθελα και να ξεσκονίσω λίγο την T-SQL μου και πολύ το χάρηκα.... Εδώ οφείλω να πω ότι οποιοσδήποτε θέλει να το χρησιμοποιήσει ή να το τροποποιήσει πρέπει να είναι  εξαιρετικά προσεκτικός και να γνωρίζει με σιγουριά τι θέλει να κάνει και τι αποτελέσματα θα έχει αυτό που θα κάνει διότι οποιοδήποτε λάθος ή παράλειψη όταν "παίζουμε" με τα system tables του SQL Server μπορεί να έχει πολύ άσχημα αποτελέσματα για τη database...

Κατά τ' άλλα, χρησιμοποιήστε το κατά βούληση... :)

Δευτέρα, 2 Νοεμβρίου 2015

Υπολογισμός ελληνικών εργάσιμων ημερών με SQL...

Πολλές φορές δουλεύοντας με δεδομένα θα χρειαστεί να τροποποιήσετε τον κώδικά σας, τον όποιο κώδικα γράφετε, αναλόγως με το αν τα δεδομένα σας αναφέρονται σε εργάσιμες ημέρες ή όχι... Αυτό μπορεί να είναι συχνά μπελάς αν συνυπολογίσεις ότι υπάρχουν κινητές γιορτές και αργίες, όπως το Πάσχα, οι οποίες διαφέρουν κιόλας αναλόγως αν αναφέρεσαι στο Πάσχα των Καθολικών ή των Ορθοδόξων...

Ένας εύκολος τρόπος να υπολογιστούν οι εργάσιμες μέρες του ελληνικού εορτολογίου είναι το παρακάτω T-SQL script το οποίο αφού τρέξετε σε κάποιο SQL Server instance, παράγει για το διάστημα το οποίο έχετε ορίσει, ένα table το οποίο περιέχει ανά ημερομηνία, τον μήνα και το έτος που ανήκει αυτή, την ονομασία της ημέρας, ένδειξη αν είναι εργάσιμη ή όχι και ένδειξη αν είναι η τελευταία εργάσιμη κάθε μήνα ή όχι.... Το script αυτό μπορείτε να το χρησιμοποιείτε είτε σε stored procedures ή common table expressions για πιο ad hoc χρήση, είτε one off υπολογίζοντας τις εργάσιμες μέρες για ένα μεγάλο χρονικό διάστημα και αποθηκεύοντας το table είτε στη βάση είτε σε κάποιο άλλο αρχείο για μελλοντική χρήση, όπως έχω κάνει εγώ... 

Η επιλογή δικής σας...