搜索sql server数据库引用字符串模式[Database]。[Schema]。[Object]

时间:2013-07-15 23:29:30

标签: sql sql-server regex tsql notepad++

我需要搜索各种大型T-SQL脚本,并查找对 [Database].[SchemaName].[Table|View|StoredProcedure] 模式的数据库对象的所有引用。

我正在使用notepad ++来搜索包含目标脚本的文件夹。有人可以帮助我使用正则表达式来识别对使用上述模式的数据库对象的引用。例如:

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

都是候选人,因为他们有三层。

[MySchema].Employee不是候选人,因为它不符合[Db].[Schema].[Object]的模式。

谢谢。

1 个答案:

答案 0 :(得分:0)

这个正则表达式:

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

尽可能简单。这意味着:

  • [](\w+|\[\w+\]));
  • 之间的单词或单词
  • 后跟一个点(\.);
  • 后跟[](\w+|\[\w+\]))之间的单词或单词;
  • 后跟一个点(\.);
  • 后跟一个单词(\w+)。

查看this demo and see (and test)匹配的内容。

当然,只需将其放在记事本++搜索框的 查找内容: 文本字段中。