Как я могу проверить, существует ли таблица в базе данных (ACCESS или SQL) в C # - PullRequest
3 голосов
/ 02 декабря 2010

Я нашел много вопросов по этому вопросу.

Но есть ли какие-нибудь простые утверждения для выполнения этой задачи?

для SQL и ACCESS

Ответы [ 3 ]

4 голосов
/ 02 декабря 2010
IF (EXISTS (SELECT 1 FROM sys.tables WHERE name = 'table_name'))
BEGIN
    -- do stuff
END

sys.tables также может дать вам некоторую информацию об объекте таблицы, например, в столбце is_replicated указано, была ли таблица создана путем репликации, или в столбце has_replication_filter указано, установлен ли для таблицы фильтр репликации

.

Примечание: это для SQL Server

Edit: Для доступа:

SELECT COUNT(*) as Exists from MsysObjects 
WHERE type = 1
AND name = 'MY_TABLE_NAME' 
2 голосов
/ 02 декабря 2010

Обратите внимание, что в SQL не существует стандартизированного способа сделать это, вам придется писать платформо-специфичный код.

Насколько мне известно, все СУБД так или иначе обладают этой функциональностью, но она сильно отличается, например, в Oracle вы можете запросить представление sys.all_tables.

0 голосов
/ 02 декабря 2010

Вы также можете использовать OBJECT_ID.

IF OBJECT_ID('table1') IS NOT NULL
print 'Exists' 
else
print 'Not Exists' 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...