sqlschool.gr logo

search results

searching on site content

13 Jan 2020

What you need to know when using MERGE statement

Στο SQL Server 2008 παρουσιάστηκε για πρώτη φορά το MERGE statement το οποίο απλοποιούσε τις διαδικασίες insert/update/delete ιδιαίτερα σε ETL διαδικασίες και από όσο έχω δει έχει αγαπηθεί από αρκετούς και μέσα σε αυτούς είμαι και εγώ.

18 Jul 2014

Add/Remove Leading/Trailing Zero with T-SQL and SSIS

Στο περιβάλλον εργασίας μου υπάρχουν αρκετές διαδικασίες που ανταλλάσσουν δεδομένα μεταξύ ετερογενών συστημάτων. Κάποια από αυτά είναι legacy και ενώ έχει γίνει μια φανταστική δουλειά να μιλάνε τα συστήματα αυτά μέσω services, εντούτοις υπάρχουν κάποιες μικρές ιδιαιτερότητες. Μια από αυτές είναι με τα νούμερα που τα legacy θέλουν συγκεκριμένο πλήθος ψηφίων με leading zero και φυσικά δίνουν τα αποτελέσματα με αυτό το format.

08 Mar 2020

Don't forget to Indexing Foreign Keys

Στο SQL Server κάθε φορά που δημιουργούμε ένα Primary Key δημιουργείται και ένας index αλλά αυτό δεν γίνεται όταν φτιάχνουμε ένα Foreign Key και θα πρέπει να το δημιουργούμε εμείς ξεχωριστά. Το γιατί και ποιο είναι το όφελος το παρουσιάζω στο άρθρο αυτό.

07 Mar 2020

A lazy man solution

Είναι γνωστό ότι το βράδυ έρχονται οι καλύτερες ιδέες σε όλους όσους ασχολούνται με την πληροφορική και ειδικά σε όσους από εμάς γράφουμε κώδικα. Τριάντα και χρόνια που κάνω αυτή δουλειά δεν έχω βρει τους λόγους που γίνεται αυτό.

27 Aug 2019

Analyze Actual Execution Plan option

Δεν αποτελεί έκπληξη κάποιο query σε περιβάλλον παραγωγής να έχει πρόβλημα performance και πρέπει να ασχοληθούμε με αυτό. Έχουμε πολλές επιλογές και εργαλεία στην διάθεση μας για να επιτύχουμε αυτό.

26 Aug 2019

Get Actual Execution Plan ASAP

Δεν είναι λίγες οι φορές που έχεις ένα query που παίρνει ώρα για να εκτελεστεί καθώς επιστρέφει μεγάλο αριθμό από εγγραφές και θέλεις να δεις το actual execution plan χωρίς να σε ενδιαφέρουν τα αποτελέσματα.

06 May 2019

Create re-usable temp table using dynamic T-SQL

Δεν είναι λίγες οι φορές που χρειάζεται να δημιουργήσουμε ένα temp table δυναμικά καθώς δεν γνωρίζουμε εξ’ αρχής την δομή του είτε σε μια stored procedure είτε σε ένα script.

18 Apr 2019

Get query results in HTML Table

Πόσες φορές θέλεις να πάρεις τα αποτελέσματα ενός query σε html table γιατί απλά θέλεις να τα βάλεις σε μια σελίδα ή στο blog σου;

28 Nov 2018

How to find if a table has rows

Πολλές φορές όταν γράφουμε κώδικα είτε μέσα σε stored procedures είτε σε scripts να χρειάζεται να κάνουμε διάφορους ελέγχους. Ένας συνηθισμένος έλεγχος είναι να κοιτάμε αν υπάρχουν εγγραφές σε ένα πίνακα για να προχωρήσουμε στο επόμενο βήμα.

25 Oct 2018

Scripting Full Text Search Indexes

Σε αυτό το επεισόδιο ασχολούμαστε στο πως μπορούμε να δημιουργήσουμε τα create scripts για τουs full text indexes και μόνο.

23 Sep 2018

Session Context in SQL Server

Αρκετές είναι οι περιπτώσεις που θέλουμε να περάσουμε κάτι είτε μεταξύ batch είτε stored procedure. Σε αυτό το VLOG σας δείχνω το πως μπορεί να γίνει αυτό.

07 Sep 2018

How joins works in SQL Server

Αρκετές είναι οι ερωτήσεις που δέχομαι σχετικά με το πως ο SQL Server υλοποιεί τα joins. Σε αυτό το VLOG προσπαθώ εξηγώ το πως με απλά λόγια.

26 Sep 2017

Date and Time popular calculations

Δεν είναι λίγες οι φορές που στα σεμινάρια που κάνω ειδικά στην T-SQL οι μαθητές μου με ρωτάνε για το πως να υπολογίσουν διάφορα πράγματα με τις ημερομηνίες.Επίσης βλέπω αρκετούς να βασανίζονται στα queries που γράφουν για να κάνουν τους διάφορους υπολογισμούς με τρόπους χαοτικούς και δαπανηρούς στην εκτέλεση.Για αυτό το λόγο σε αυτό το μικρό άρθρο σας παραθέτω το πως μπορείτε να υπολογίσετε γρήγορα και με σχεδόν μηδενικό κόστος τις δημοφιλέστερες ερωτήσεις με τις ημερομηνίες

24 Apr 2017

TRY… CATCH with Extended Event

Από το SQL Server 2005 έχουμε στην διάθεση μας το TRY…CATCH με το οποίο μπορούμε να έχουμε ένα δομημένο exception handling και πραγματικά είμαστε όλοι ευχαριστημένοι με αυτό.Παρόλο που αυτό κάνει εξαιρετικά την δουλειά του και πιάνει πραγματικά όλα τα run time exceptions υπάρχει κάτι που συμβαίνει και που οι περισσότεροι πιστεύουν ότι είναι limitation σε αυτό (κατά την γνώμη μου δεν είναι).

27 Mar 2017

The XACT_ABORT setting

Ένα από τα statements που έχουν δημιουργήσει και συνεχίζουν να δημιουργούν σύγχυση είναι το XACT_ABORT. Αν και η περιγραφή του συγκεκριμένου set statement είναι αρκετά σαφής όπως περιγράφεται μέσα στα books online (BOL) του SQL Server εντούτοις μια μικρή λεπτομέρεια που κανείς δεν προσέχει κάνει την διαφορά.

02 Mar 2017

Show Record fields in key/value format

Δεν είναι λίγες οι φορές που θέλεις να δεις τα δεδομένα μιας εγγραφής σε αντί σε μια γραμμή σε πολλές γραμμές (μία για κάθε field) και δύο στήλες (σε μια λογική key/value).

13 Jan 2017

How to find unpaid balance

Πάντα όταν κάνω μάθημα για την T-SQL οι μαθητές μου με ρωτάνε να τους δείξω πως μπορούν να λύσουν διάφορα προβλήματα που αντιμετωπίζουν στην εργασία τους και που τους έχουν παιδέψει αρκετά για να βρουν λύση ή δεν έχουν ακόμα βρει λύση και μαστορεύουν τα δεδομένα με χειρωνακτικό τρόπο στο Excel.

17 Nov 2016

CREATE OR ALTER – in SQL Server 2016 SP1

Αφού πέρασε η πρώτη μέρα με τις μεγάλες ανακοινώσεις για το SQL Server 2016 SP1 και όλοι είναι χαρούμενοι, ας πω και εγώ για ακόμα ένα που μπήκε στο SP1 και δεν κανείς δεν του έδωσε σημασία και δεν είναι άλλο από το

07 Oct 2016

Calculate the row size per table in a database

Σε συνέχεια από το άρθρο μου για τα Row Overflow Page έφτιαξα μια stored procedure που υπολογίζει το μέγεθος του row ανά table

09 Jun 2016

Get Security Permission Report for all users and objects in a database - Version 2

Καθημερινά σαν DBA μου έρχονται πολλά αιτήματα που αφορούν την ασφάλεια των SQL Server instances και των database που αυτά έχουν. Ένα σύνηθες ερώτημα είναι να βγάλω ένα report για τους χρήστες με τις προσβάσεις που έχουν σε συγκεκριμένη database.

19 Feb 2016

GETDATE vs {FN NOW()}

Όπως έχω γράψει στο παρελθόν το web είναι μεγάλο εργαλείο αλλά δημιουργεί και ψευδείς εντυπώσεις.

15 Jan 2016

Converting numbers in a string with various format

Μερικές φορές κάποια πράγματα που επαναλαμβάνονται δίνουν κάποιο σημάδι που δεν πρέπει κανείς να αγνοεί. Ίσως είναι η πρώτη φορά που μου συμβαίνει κάτι τέτοιο καθώς μέσα σε διάστημα 12 ώρων μου τέθηκε πάνω από 10 φορές (σε παραλαγγές) η παρακάτω ερώτηση.

03 May 2015

Using sp_send_dbmail to send Excel file (csv) as attachment

Πόσες φορές έχεις την ανάγκη να εκτελέσεις ένα query και τα αποτελέσματα τα του να τα στείλεις με email σε ένα excel; Τρόποι υπάρχουν αρκετοί. Σε αυτό το post θα σας δείξω ακόμα έναν που αυτοματοποιεί ακόμα περισσότερο την διαδικασία.

26 Jan 2015

Passing dates as parameters in a script with SQLCMD

Από τα πράγματα που ένας DBA συνήθως κάνει είναι να έχει στην φαρέτρα του μια σειρά από scripts τα οποία αυτοματοποιούν την δουλειά του. Σύμμαχος του σε αυτό είναι το SQLCMD το οποίο έχει πολλές δυνατότητες και μια από αυτές είναι ότι μπορείς να έχει ένα script το οποίο να δέχεται παραμέτρους.

25 Sep 2014

Is it possible to Join a table with a stored procedure?

Σε όλους είναι γνωστό ότι δεν μπορείς ένα table να τον κάνεις join με μια stored procedure η οποία γυρνάει αποτελέσματα σε μορφή table. Είναι όντως 100% αλήθεια και αν δεν είναι γιατί δεν το χρησιμοποιούμε;

24 Jul 2014

Select Top N rows from multiple groups

Κατά ένα περίεργο τρόπο τις τελευταίες δύο εβδομάδες έχω γίνει αποδέκτης του συγκεκριμένου ερωτήματος από αρκετούς που επισκέπτονται το sqlschool.gr και για αυτό αποφάσισα να το κάνω post ώστε να υπάρχει και εδώ.

28 May 2014

PARSENAME T-SQL Function

Σαν DBA αλλά και DB Developer έχεις την ανάγκη να διαβάσεις metadata για να κάνεις την δουλειά σου. Αρκετές είναι οι φορές που τo όνομα του object που παίρνεις είναι full qualified name δηλαδή περιέχει server, database, schema, και φυσικά το όνομα του και ανά περίπτωση θέλεις να πάρεις κάποιο από αυτά. Μην ψάχνεις να δεις πως θα τα κάνεις…

11 Feb 2014

Filtering data on joins or to where clause?

Ένα ερώτημα που όλους κάποια στιγμή έχει απασχολήσει και έχει δημιουργήσει ενδιαφέρουσες συζητήσεις είναι το που είναι καλύτερο να βάλω τα φίλτρα μου σε ένα join query, να τα βάλω στο where όπως θα έκανα ή να τα βάλω στο join;

03 Jan 2014

The effects of SET NOCOUNT ON

Αρκετοί φαντάζομαι γνωρίζετε το SET NOCOUNT ON setting. Θα έχετε πιθανώς διαβάσει ή ακούσει ότι όταν είναι ΟΝ έχουμε καλύτερη απόδοση κυρίως στα action queries (INSERT/UPDATE/DELETE), αν όχι μπορείτε να το δείτε στα BOL.Αυτό που θέλω είναι να σας δείξω το πόσο βελτίωση έχουμε και για αυτό θα κάνουμε ένα benchmark.

17 Jul 2013

How a SELECT COUNT(*) query executed

Χθες κατά την διάρκεια του μαθήματος που έκανα ένα αγαπητός συνάδελφος στην συζήτηση που είχαμε ανέφερε ότι όποτε κάνεις ένα query που κάνει COUNT(*)  στα δεδομένα μας κάνει πάντα table scan.

01 Mar 2013

Nested CTE – A Simple Sample

Ένα απλό παράδειγμα για το πως μπορώ να έχω nested CTEs

21 Jan 2013

If you need order in your query results, put in an ORDER BY.

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

23 Jul 2012

Change Schema on an object in SQL Server database

Μια πρωινή ερώτηση που ένας συνάδελφος μου έθεσε ήταν η αφορμή για αυτό το tip of the day. Η ερώτηση του ήταν: Πως μπορώ να αλλάξω το schema σε ένα object μέσα σε μια database; Η απάντηση...

04 Jul 2012

Writing T-SQL using formatting standards, code layout and beautification

Σαν παλαιός developer έχω νιώσει αρκετά καλά στο πετσί μου ότι ο όμορφα γραμμένος κώδικας όσο χάλια και αν είναι πάντα βοηθάει στην ανάγνωση του με αποτέλεσμα να εξυπηρετεί αρκετά τόσο στο debugging αυτού όσο και στο refactoring και extension. Αρκετές φορές ακόμα έχω δεχθεί ερώτηση για αυτό τόσο στον χώρο εργασίας μου όσο και κατά την διάρκεια των σεμιναρίων που κάνω.

18 Jun 2012

Why you must terminate your statements with semicolon (;)

Αφορμή για αυτό το post ήταν δύο γεγονότα τα οποία μου συνέβησαν το τελευταίο διάστημα. Το ένα ήταν μια «διαμάχη» με έναν συνάδελφο σχετικά με το γεγονός ότι πλέον δεν υποστηρίζεται πλέον στον SQL Server 2012 η sp_dboption, και το άλλο είναι ένα προσωπικό μήνυμα που έλαβα από κάποιον άλλο συνάδελφο σχετικά με το αν θα πρέπει να χρησιμοποιείται το semicolon στο τέλος των εντολών της T-SQL.

04 Jun 2012

Estimate Database Compression Stored Procedure (sp_estimate_db_compression)

Τις τελευταίες ημέρες για ένα περίεργο λόγο συνάντησα αρκετές φορές την ανάγκη να πρέπει να εκτιμηθεί η δυνατότητα να γίνει compress μια database. Για το λόγο αυτό αποφάσισα να φτιάξω μια stored procedure που να κάνει όλα όσα ήθελα να γίνονται με την εκτέλεση της. Μετά από μερικές μέρες δουλειάς και αρκετές αλλαγές πάνω σε αυτή το τελικό αποτέλεσμα μπορείτε να το βρείτε εδώ.

21 May 2012

Using Window Functions in SQL Server 2012

Πάρα πολλά νέα χαρακτηριστικά έχουν μπει στον SQL Server 2012. Όπως έχω πει και σε προηγούμενα post αλλά και στην πρόσφατη παρουσίαση μου στο 39o Autoexec event κάποια είναι δημοφιλή και ακούγονται συχνά όπως τα AlwaysOn Availability Groups, Auditing Enhancements, Security Enhancements κλπ. Δικαίως και είναι δημοφιλή. Υπάρχουν όμως τόσα άλλα που δεν ακούγονται, κακώς κατά την γνώμη μου. Σε μερικά μάλιστα δεν έχει δοθεί η δέουσα προσοχή. Ομολογώ ότι και εγώ σε κάποια δεν είχα δώσει και τόσο μεγάλη...

17 May 2012

Writing a Query: is an Art? Is Knowledge? Is Experience? Is Skill? Or is nothing of the above?

Ξεκινώντας να γράψω το post αυτό ο προσανατολισμός μου ήταν καθαρά τεχνικός στην πορεία όμως άρχισε να μου αρέσει η ιδέα να πάρει την μορφή αυτή. Μου βγήκε αυθόρμητα γιατί πέρα από το τεχνικό του μέρος προσπαθώ να σκιαγραφήσω το άνθρωπο που έρχεται να γράψει ένα query για να καλύψει τις ανάγκες που αντιμετωπίζει στην καθημερινότητα του. Πριν λίγες μέρες μου ήρθε ένα ερώτημα από ένα συνάδελφο που ζήταγε να αντλήσει μια πληροφορία από ένα πίνακα με πολλές χιλιάδες έγγραφές.

13 Jan 2012

How to check my queries if they are ANSI compatible? (Tip of the day)

Αρκετές φορές έχω ερωτηθεί και έχω πει την άποψη μου για το τι είναι ANSI Transact SQL και τι όχι, όπως επίσης έχω πει και το πόσο ο SQL Server έχει δώσει βάρος στο να είναι κοντά στο ANSI. Όπως και να έχει όμως είτε θέλω να γράφω pure ANSI επειδή ενδεχομένως να θέλω portability είτε γιατί απλά είμαι περίεργος και θέλω να ξέρω αυτό που γράφω πόσο ANSI είναι , μπορώ το κάνω απλά χρησιμοποιώντας...

07 Oct 2011

The truth about WITH ENCRYPTION option

Όταν βάζουμε το WITH ENCRYPTION option σε μια stored procedure, ένα trigger, μια function ή ένα view ξέρουμε ότι αυτόματα ο κώδικας δεν είναι ορατός. Θα μπορούσαμε να πούμε ότι είναι κλειδωμένος. Δεν ξέρω αν το γνωρίζεται αλλά ο SQL Server δεν είναι ένα digital rights management system αυτό σημαίνει ότι ο κώδικας που έχει γραφεί μέσα μια sp, function κλπ δεν είναι encrypted...

06 Sep 2011

Are Cursors evil or not?

Πριν τις καλοκαιρινές μου διακοπές είχα ένα τμήμα στο οποίο έκανα μάθημα όλη την σειρά σεμιναρίων του SQL Server 2008 R2. Το τμήμα αυτό είχε συναδέλφους που ήταν αποκλειστικά Oracle DBAs και Devs. Κατά την διάρκεια των σεμιναρίων είχα αρκετές ερωτήσεις του στυλ στην Oracle κάνουμε αυτό στο SQL το κάνουμε και πώς το κάνουμε. Από μια σύμπτωση η σειρά το σεμιναρίων ήταν πρώτα το administration, και μετά το programming και μετά το σεμινάριο με την T-SQL.

1 2 

|< < > >| 

Categories

Labels

0-9

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

U

V

W

X

Σ

Become a member

If you want to receive updates from us become a member to our community.

Connect

Explore

Learn


sqlschool.gr © 2010-2024 All rights reserved

This site uses cookies for operational and analytics purposes only. By continuing to browse this site, you agree to their use.