Malheureusement, la DB contient beaucoup de tables et beaucoup de champs.
De surcroit, le nom du champ n'est pas obligatoirement exactement "BuyPrice" car il peut contenir préfix et suffix (ex: CreditBuyPrice, BuyPriceTotal, etc).
L'opération s'annonçait donc fastidieuse.
Heureusement, il existe la table Sys.SysColumns pour nous faciliter la vie et un petit script SQL peut rendre la tâche bien plus agréable.
-- -- Helper - Find Column -- -- Description: -- Locate Tables having a columnName looking to a string. -- -- @PartialColumnName contains the columns name to look for. -- @OnlyTables 1: Only user tables, -- 0: also includes views, table valued function (parameter & returned columns), etc -- -- Author: Meurisse Dominique -- Changes: -- 20/09/2010 - creation -- 20/09/2010 - Add parameter @OnlyTables -- DECLARE @PartialColumnName varchar(20) DECLARE @OnlyTables smallint SET @PartialColumnName = 'BuyPrice' -- <<<< change here >>>> SET @OnlyTables = 1 -- <<< Look only on tables or All object >>> select SCHEMA_NAME( uid )+'.'+obj.name as TableName, col.name as ColumnName from sys.syscolumns col inner join sys.sysobjects obj on obj.id = col.id and (@OnlyTables = 0 or (@OnlyTables = 1 and obj.xtype = 'U')) where LOWER(col.name) like '%'+LOWER(@PartialColumnName)+'%' order by SCHEMA_NAME( uid ), obj.name
Aucun commentaire:
Enregistrer un commentaire