Create ProceDure SP_TEST As Select 1 As A Union All Select 2 Union All Select 3 GO Create Table #T(SPText Nvarchar(4000)) Insert #T EXEC sp_helptext SP_TEST Select SUM(Len(SPText)-Len(Replace(SPText,'Select','')))/Len('Select') As Count From #T Drop Table #T GO Drop ProceDure SP_TEST --Result /* Count 3 */
Create ProceDure SP_TEST As Select 1 As A Union All Select 2 Union All Select 3 GO Create Table #T(SPText Nvarchar(4000)) Insert #T EXEC sp_helptext SP_TEST Declare @S Varchar(100) Select @S='Select' Select SUM(Len(SPText)-Len(Replace(SPText,@S,'')))/Len(@S) As Count From #T Select @S='All' Select SUM(Len(SPText)-Len(Replace(SPText,@S,'')))/Len(@S) As Count From #T Drop Table #T GO Drop ProceDure SP_TEST --Result /* Count 3 Count 2 */
获取存储过程的细节,来计算关键字出现的次数。
Create ProceDure SP_TEST
As
Select 1 As A
Union All
Select 2
Union All
Select 3
GO
Create Table #T(SPText Nvarchar(4000))
Insert #T EXEC sp_helptext SP_TEST
Select SUM(Len(SPText)-Len(Replace(SPText,'Select','')))/Len('Select') As Count From #T
Drop Table #T
GO
Drop ProceDure SP_TEST
--Result
/*
Count
3
*/
As
Select 1 As A
Union All
Select 2
Union All
Select 3
GO
Create Table #T(SPText Nvarchar(4000))
Insert #T EXEC sp_helptext SP_TEST
Declare @S Varchar(100)
Select @S='Select'
Select SUM(Len(SPText)-Len(Replace(SPText,@S,'')))/Len(@S) As Count From #T
Select @S='All'
Select SUM(Len(SPText)-Len(Replace(SPText,@S,'')))/Len(@S) As Count From #T
Drop Table #T
GO
Drop ProceDure SP_TEST
--Result
/*
Count
3
Count
2
*/