Πώς μπορώ να λάβω ονόματα στηλών από έναν πίνακα στον SQL Server;

Θα ήθελα να αναζητήσω το όνομα όλων των στηλών ενός πίνακα. Βρήκα πώς να το κάνω αυτό στο:

Αλλά πρέπει να ξέρω: Πώς μπορεί να γίνει αυτό στον Microsoft SQL Server (2008 στην περίπτωσή μου);

Λύση

Μπορείτε να λάβετε αυτές τις πληροφορίες και πολλά, πολλά άλλα μέσω ερωτημάτων στις προβολές του Σχήματος Πληροφοριών.

Αυτό το δείγμα ερωτήματος:

SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = N'Customers'

Μπορεί να γίνει σε όλα αυτά τα αντικείμενα της ΒΔ:

Σχόλια (6)

Μπορείτε να χρησιμοποιήσετε την αποθηκευμένη διαδικασία sp_columns, η οποία θα επιστρέψει πληροφορίες σχετικά με όλες τις στήλες ενός συγκεκριμένου πίνακα. Περισσότερες πληροφορίες μπορείτε να βρείτε εδώ http://msdn.microsoft.com/en-us/library/ms176077.aspx

Μπορείτε επίσης να το κάνετε με ένα ερώτημα SQL. Κάτι τέτοιο θα σας βοηθήσει:

SELECT * FROM sys.columns WHERE object_id = OBJECT_ID('dbo.yourTableName') 

Ή μια παραλλαγή θα μπορούσε να είναι:

SELECT   o.Name, c.Name
FROM     sys.columns c 
         JOIN sys.objects o ON o.object_id = c.object_id 
WHERE    o.type = 'U' 
ORDER BY o.Name, c.Name

Αυτό παίρνει όλες τις στήλες από όλους τους πίνακες, ταξινομημένες με βάση το όνομα του πίνακα και στη συνέχεια με βάση το όνομα της στήλης.

Σχόλια (0)

Χρησιμοποιώντας αυτό το ερώτημα θα λάβετε την απάντηση:

select Column_name 
from Information_schema.columns 
where Table_name like 'table name'
Σχόλια (0)