在 SQL 服务器中查找任何硬编码值
Find any hard coded values in SQL Server
我需要识别数据库中包含 "scenarioID" 且具有硬编码值的任何对象。
我希望确定以下案例:
- scenarioId = XX(两位数值)
- scenarioId=XX(两位数值)
- 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]%'
我需要识别数据库中包含 "scenarioID" 且具有硬编码值的任何对象。
我希望确定以下案例:
- scenarioId = XX(两位数值)
- scenarioId=XX(两位数值)
- 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]%'