1

我需要搜索各种大型 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].

谢谢你。

4

1 回答 1

0

这个正则表达式:

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

就这么简单。它的意思是:

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

查看演示并查看(并测试)它匹配的内容。

当然,只需将其放在 Notepad++ 搜索框的Find what: text 字段中即可。

于 2013-07-16T00:04:12.837 回答