Kuidas saada SQL Serveri tabelist veeru nimed?

Tahaksin küsida tabeli kõigi veergude nimesid. Ma leidsin, kuidas seda teha:

Aga ma pean teadma: Kuidas saab seda teha Microsoft SQL Serveris (minu puhul 2008)?

Lahendus

Seda teavet ja palju, palju muudki saate teabeskeemi vaadete päringu abil.

See näidispäring:

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

saab teha kõigi nende DB objektide kohta:

Kommentaarid (6)

Saate kasutada salvestatud protseduuri sp_columns, mis tagastab antud tabeli kõikide veergude kohta käiva teabe. Rohkem infot saab siit http://msdn.microsoft.com/en-us/library/ms176077.aspx.

Seda saab teha ka SQL-küsitlusega. Mõni selline asi peaks aitama:

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

Või variant oleks:

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

Sellega saadakse kõik veerud kõigist tabelitest, järjestatuna tabeli nime ja seejärel veeru nime järgi.

Kommentaarid (0)

Selle päringu abil saate vastuse:

select Column_name 
from Information_schema.columns 
where Table_name like 'table name'
Kommentaarid (0)