Как я могу сделать эквивалент «ПОКАЗАТЬ СТОЛЫ» в T-SQL? - PullRequest
33 голосов
/ 24 сентября 2008

Я хотел бы выполнить поиск таблиц в моей базе данных SQL Server 2005 Express на основе имени таблицы. В MySQL я бы использовал SHOW TABLES LIKE "Datasheet%", но в T-SQL это выдает ошибку (он пытается найти хранимую процедуру SHOW и терпит неудачу).

Возможно ли это, и если да, то как?

Ответы [ 11 ]

45 голосов
/ 24 сентября 2008

Я знаю, что вы уже приняли ответ, но почему бы просто не использовать гораздо более простые sp_tables ?

sp_tables 'Database_Name'
35 голосов
/ 24 сентября 2008

Это даст вам список таблиц в текущей базе данных:

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

8 голосов
/ 04 августа 2013

Попробуйте это:

USE your_database
go
Sp_tables
go
7 голосов
/ 24 сентября 2008

Попробуйте это

SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME LIKE 'Datasheet%'
5 голосов
/ 24 сентября 2008

Попробуйте это:

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

также ищите другие information_schema представления.

3 голосов
/ 24 сентября 2008

И, поскольку INFORMATION_SCHEMA является частью стандарта SQL-92 , многие базы данных поддерживают его, в том числе MySQL .

2 голосов
/ 24 сентября 2008

Попробуйте выполнить

SELECT table_name
FROM information_schema.tables
WHERE
table_name LIKE 'Datasheet%'
1 голос
/ 26 мая 2019

Тот, кто не знает ИМЯ ТАБЛИЦЫ, не сможет получить результат согласно приведенным выше ответам.

ПОПРОБУЙТЕ

SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA='dbo'; 
1 голос
/ 08 ноября 2008

Попробуйте:

SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME LIKE '%'
1 голос
/ 24 сентября 2008

MS медленно выводит из употребления методы, отличные от information_schema просмотров. поэтому для прямой совместимости всегда используйте их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...