• Increase font size
  • Default font size
  • Decrease font size
Home T-SQL Kolom zoeken in een database

Kolom zoeken in een database

E-mail Afdrukken
(1 stem)




database_1_search_128Je zoekt een bepaalde kolomnaam in een van je tabellen in je SQL Server database maar kan hem even niet vinden. Dit kan een tijdrovende klus zijn als je onderstaande truuk niet kent.  In SQL Server 2005 ontbreekt een zoekfunctionaliteit om snel een kolom te kunnen vinden in databases. Dit kan nog weleens handig zijn als je een bepaalde kolom zoekt maar niet weet in welke tabel deze zich bevindt. De oplossing hiervoor is een vrij eenvoudige Query.



 SELECT O.NAME Tabelnaam,
 C.NAME Kolomnaam
 FROM sys.columns C
 INNER JOIN sys.objects O ON C.OBJECT_ID = O.OBJECT_ID
 WHERE C.NAME LIKE '%DebiteurNaam%'
 ORDER BY O.NAME,
 C.NAME
 




Resultaat


Het is natuurlijk niet erg handig om iedere keer dat je een kolom zoekt deze hele query in te typen, daarom is er ook de volgende Stored-Procedure die de taak wel heel eenvoudig maakt:
 CREATE PROCEDURE [dbo].[pcdGetColumns]
 @kolomnaam NVARCHAR(256)
 -- Zoek een kolomnaam in een database
 -- EXECUTE pcdGetColumns '%naam%'
 AS
 BEGIN
 
 SELECT O.NAME Tabelnaam,
 C.NAME Kolomnaam
 FROM sys.columns C
 INNER JOIN sys.objects O ON C.OBJECT_ID = O.OBJECT_ID
 WHERE C.NAME LIKE @kolomnaam
 ORDER BY O.NAME, C.NAME
 
 END
 



Copyright 2008. All Rights Reserved.

Trackback(0)

TrackBack URI voor deze post

Commentaar (2)

RSS feed Commentaar
...
0
Je zou natuurlijk ook gebruik kunnen maken van de INFORMATION_SCHEMA's:

Code:
SELECT COLUM_NAME,TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE
COLUMN_NAME LIKE '%%'


Of is dit niet altijd bruikbaar?
Arjan Fraaij , november 15, 2008
...
63
Ik ken jouw statement nog niet maar ik prefereer toch een stored procedure, puur voor het gemak. Je hoeft dan die complete lap tekst niet iedere keer in te voeren!
kraaitje , november 15, 2008

Schrijf commentaar

kleiner | groter
security image
Schrijf de volgende tekens

busy