45

テーブル名に基づいて、SQL Server 2005 Express データベース内のテーブルを検索したいと考えています。ではMySQLを使用SHOW TABLES LIKE "Datasheet%"しますが、これではエラーがスローされます (ストアド プロシージャT-SQLを検索しようとして失敗します)。SHOW

これは可能ですか?

4

11 に答える 11

56

すでに回答を受け入れていることは知っていますが、より単純なsp_tablesを使用しないのはなぜですか?

sp_tables 'Database_Name'
于 2008-09-23T22:14:56.453 に答える
46

これにより、現在のデータベース内のテーブルのリストが表示されます。

Select Table_name as "Table name"
From Information_schema.Tables
Where Table_type = 'BASE TABLE' and Objectproperty 
(Object_id(Table_name), 'IsMsShipped') = 0

その他の便利な T-SQL ビットは、http ://www.devx.com/tips/Tip/28529 で見つけることができます。

于 2008-09-23T22:06:33.727 に答える
9

これを試して

SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME LIKE 'Datasheet%'
于 2008-09-23T22:05:46.100 に答える
5

これを試して :

select * from information_schema.columns
where table_name = 'yourTableName'

他のビューも探しinformation_schemaます。

于 2008-09-23T22:04:48.880 に答える
4

また、INFORMATION_SCHEMAはSQL-92標準の一部であるため、 MySQLを含む多くのデータベースがSQL-92標準をサポートしています。

于 2008-09-23T23:18:28.750 に答える
3

フォローしてみてください

SELECT table_name
FROM information_schema.tables
WHERE
table_name LIKE 'Datasheet%'
于 2008-09-23T22:06:23.307 に答える
3

それを試してみてください :

SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME LIKE '%'
于 2008-11-08T00:22:18.570 に答える
2

MSビュー以外のメソッドを段階的に廃止していinformation_schemaます。したがって、上位互換性のために常にそれらを使用してください。

于 2008-09-23T22:55:42.207 に答える