2013-07-15 20 views
1

我需要通過各種大型T-SQL腳本來搜索和尋找到具有[Database].[SchemaName].[Table|View|StoredProcedure]模式數據庫對象的所有引用。搜索SQL Server數據庫的引用字符串模式[數據庫]。[架構]。[對象]

我使用記事本++來搜索包含目標腳本的文件夾。有人可以用正則表達式來幫助我找出對使用上述模式的數據庫對象的引用。例如:

[MyDB].[MySchema].Employee 
MyDb.MySchema.Employee 
MyDb.[MySchema].uspGetEmployee 
[MyDb].MySchema.vwEmployee 

都是候選人,因爲他們有三層。

[MySchema].Employee不是候選人,因爲它不遵循[Db].[Schema].[Object]的模式。

謝謝。

回答

0

此正則表達式:

(\w+|\[\w+\])\.(\w+|\[\w+\])\.\w+ 

是因爲它得到簡單。它的含義是:

  • 一個單詞或者一個單詞在[](\w+|\[\w+\]))之間;
  • 後跟一個點(\.);
  • 後面跟着一個單詞,或者在[](\w+|\[\w+\]))之間的單詞;
  • 後跟一個點(\.);
  • 後跟一個詞(\w+)。

退房this demo and see (and test)它匹配什麼。

當然,只需將它放在找到:記事本++搜索框的文本字段。

+0

非常感謝@acdcjunior。問題解決了。 – user1309226