""
内の正確なテキストのプロシージャとトリガで検索できます。 しかし、私は、すべてのデータベース内のすべてのフレーズを%%
内の文字列を検索する必要がMS SQL Serverのすべてのデータベースオブジェクトでテキストを検索する方法
2
A
答えて
0
SELECT ROUTINE_TYPE,* FROM INFORMATION_SCHEMA.ROUTINES WHERE
CHARINDEX('test',ROUTINE_DEFINITION)>0
SELECT VIEW_DEFINITION,* FROM INFORMATION_SCHEMA.VIEWS WHERE
CHARINDEX('test',VIEW_DEFINITION)>0
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE
(CHARINDEX('col1',COLUMN_NAME)>0 OR CHARINDEX('tab2',TABLE_NAME)>0)
我々がCHARINDEXを使用検索のパフォーマンスを向上させる
3
select * from sys.sql_modules
where definition like '%test%'
オブジェクトSYS.SQL_Modules
に関するいくつかの情報は、SQL言語定義である各オブジェクトの行を返しますSQL Serverのモジュール。ネイティブにコンパイルされたスカラーユーザー定義関数も含まれます。 P、RF、V、TR、FN、IF、TF、およびRのオブジェクトには、SQLモジュール
があり、sp_msfporeachDBを使用すると、すべてのデータベースでテストできます。
EXECUTE master.sys.sp_MSforeachdb 'USE [?];
if db_id()>4'
Begin
select * from sys.sql_modules where defintion like ''%test%''
end
-1
これは重複して質問です...答えはここにある...代わりに( '%テスト%' など)パーセンタイルとのようなオペレータの How to find a string inside a entire database?
DECLARE @MyValue NVarChar(4000) = 'something';
SELECT S.name SchemaName, T.name TableName
INTO #T
FROM sys.schemas S INNER JOIN
sys.tables T ON S.schema_id = T.schema_id;
WHILE (EXISTS (SELECT * FROM #T)) BEGIN
DECLARE @SQL NVarChar(4000) = 'SELECT * FROM $$TableName WHERE (0 = 1) ';
DECLARE @TableName NVarChar(1000) = (
SELECT TOP 1 SchemaName + '.' + TableName FROM #T
);
SELECT @SQL = REPLACE(@SQL, '$$TableName', @TableName);
DECLARE @Cols NVarChar(4000) = '';
SELECT
@Cols = COALESCE(@Cols + 'OR CONVERT(NVarChar(4000), ', '') + C.name + ') = CONVERT(NVarChar(4000), ''$$MyValue'') '
FROM sys.columns C
WHERE C.object_id = OBJECT_ID(@TableName);
SELECT @Cols = REPLACE(@Cols, '$$MyValue', @MyValue);
SELECT @SQL = @SQL + @Cols;
EXECUTE(@SQL);
DELETE FROM #T
WHERE SchemaName + '.' + TableName = @TableName;
END;
DROP TABLE #T;
+1
ここでは「テキストのように」(%%)ではなく正確なテキストを検索できます。そのようにしたいです –
+1
答えをありがとう –
関連する問題
- 1. SQL Server 2005のストアドプロシージャでのテキスト検索
- 2. SQL Server 2005すべての書籍を持つユーザーを検索する方法
- 3. ストアドプロシージャ内のテキスト検索SQL Server
- 4. SQL Server Management Studio - すべての空でないテーブルの検索
- 5. SQL Server 2014 - Distinctレコードの検索方法
- 6. MSは、検索テキストのIFilter
- 7. 簡単な検索方法検索する行の数を返すSQL Server
- 8. SQL Server - すべてのデータベーステーブルの列を検索
- 9. SQL Server 2008のテーブル列への参照をすべて検索
- 10. MS SQL Server 2008 R2でID = 1のすべてのテーブルからすべてのレコードを取得する方法
- 11. MS Wordの検索方法
- 12. SQL Serverデータベースの特定の列を検索する方法は?
- 13. アップデート(検索と置換)のすべての列に、SQL Serverの
- 14. PHPのMS SQL Serverで未使用の列を検索するクエリ
- 15. SQL Serverのテーブルからデータを検索する方法
- 16. SQL Serverでテーブルを検索する方法2016
- 17. ビューに関連するデータベースオブジェクト - SQL Server 2005
- 18. MS SQL Serverのフルテキスト検索JPAおよびEclipseLinkのと
- 19. Msアクセスフォーム - 検索ボタンを使用してテキストを完全にフィルタする方法
- 20. SQL ServerでUnicodeテキストを検出する
- 21. SQL Serverでオブジェクトを検索する(クロスデータベース)
- 22. Rails App - MS SQL Serverの高度な検索
- 23. SQL Serverの特定のインデックスのすべての列を検索する方法は?
- 24. SQL Server 2005/2008でプロシージャ(または関数)のインスタンスをすべて検索する方法
- 25. SQL Serverのサブクエリを使用してテキスト検索を解放できますか?
- 26. SQL Serverデータベース内のすべての擬似関連データを検索する
- 27. SQLサーバーで送信されたすべてのフレンドリクエストを検索する方法
- 28. 検索アラビア語のテキストが含まれているすべての単語のSQL Server
- 29. MS SQL Serverの:子供のすべての親を持つビュー
- 30. SQL Serverのメタデータの検索
"正確なテキストを検索することができるプロシージャとファンクション内"を意味するのかどうかは不明です。正確な手順と関数を検索できますテキスト "....どちらにしても、探しているキーワードは「好き」 –