在 SQL 服务器中查找任何硬编码值

Find any hard coded values in SQL Server

我需要识别数据库中包含 "scenarioID" 且具有硬编码值的任何对象。

我希望确定以下案例:

  1. scenarioId = XX(两位数值)
  2. scenarioId=XX(两位数值)
  3. scenarioId= XX(两位数值)

我写的下面的查询似乎是在拉取包含 "scenarioid" 的对象,但比上面的情况给了我更多。

SELECT DISTINCT a.[name]
FROM sysobjects a
INNER JOIN syscomments b on a.id = b.id
WHERE b.[text] LIKE '%scenarioId = __[^0-9]%'

我意识到我的错误。我使用 [^0-9] 而不是 [0-9].

SELECT DISTINCT a.[name]
FROM sysobjects a
INNER JOIN syscomments b on a.id = b.id
WHERE b.[text] LIKE '%scenarioId = [0-9][0-9]%'
or b.[text] like '%scenarioId=[0-9][0-9]%'
or b.[text] like '%scenarioId =[0-9][0-9]%'
or b.[text] like '%scenarioId = [0-9][0-9]%'
or b.[text] like '%scenarioId  = [0-9][0-9]%'