|
V Microsoft SQL 7 a SQL 2000 se dalo hledat v objektech databáze poměrně snadno. Stačilo oteřvít Query Analyzer zmáčknout F4 a už jste měli otevřený Object Search. Stačilo jen nastavit v kterých objektech chcete hledat, zadat hledaný text a bylo to.
Hledáte tuto možnost v MS SQL 2005? Bohužel marně. Vývojové centrum Microsoftu se rozhodlo tuto funkci odstranit, protože "jí nikdo nepoužívá". Tolik vysvětlení ze strany Microsoftu. Nicméně i tak můžeme dál hledat v objektech databáze, jen si na to musíme napsat script.
Pro hledání textu použijeme systémové tabulky sysobjects a syscomments. Kód pro hledání může vypadat například takto. SELECT DISTINCT sysobjects.name AS [Object Name] , case when sysobjects.xtype = 'C' then 'CHECK constraint' when sysobjects.xtype = 'D' then 'Default or DEFAULT constraint' when sysobjects.xtype = 'F' then 'Foreign Key' when sysobjects.xtype = 'FN' then 'Scalar function' when sysobjects.xtype = 'P' then 'Stored Procedure' when sysobjects.xtype = 'PK' then 'PRIMARY KEY constraint' when sysobjects.xtype = 'S' then 'System table' when sysobjects.xtype = 'TF' then 'Function' when sysobjects.xtype = 'TR' then 'Trigger' when sysobjects.xtype = 'U' then 'User table' when sysobjects.xtype = 'UQ' then 'UNIQUE constraint' when sysobjects.xtype = 'V' then 'View' when sysobjects.xtype = 'X' then 'Extended stored procedure' end as [Object Type] FROM sysobjects WHERE sysobjects.type in ('C','D','F','FN','P','K','S','TF','TR','U','V','X') AND sysobjects.category = 0 AND CHARINDEX(@SEARCHSTRING,sysobjects.name)>0 AND ((CHARINDEX(@notcontain,sysobjects.name)=0 or CHARINDEX(@notcontain,sysobjects.name)<>0))
@SEARCHSTRING přiřadíme hledaný text, pokud chceme určitý text vyloučit naplníme hodnotu @notcontain Pro omezení jen na určité objekty stačí zakomentovat určité kusy kódu s WHEN a změnit podmínku sysobjects.type in ('C','D','F','FN','P','K','S','TF','TR','U','V','X'). Přehled type objektů, které můžeme použít: type C = CHECK constraint D = Default or DEFAULT constraint F = FOREIGN KEY constraint FN = Scalar function IF = Inlined table-function K = PRIMARY KEY or UNIQUE constraint L = Log P = Stored procedure R = Rule RF = Replication filter stored procedure S = System table TF = Table function TR = Trigger U = User table V = View X = Extended stored procedure
Přidat jako oblíbený (218) | Shlédnutí: 1836
|
- Komentujte prosím relevantě k obsahu článku.
- Vyplnění položek označených hvězdičkou je povinné.
|
Powered by AkoComment Tweaked Special Edition v.1.4.6 AkoComment © Copyright 2004 by Arthur Konze - www.mamboportal.com All right reserved |