본문 바로가기

Computer/Database

[MS-SQL]데이타베이스에 테이블이 있는지 확인하는 방법

*MSSQL 2000
해당 테이블이 있는지 확인방법
SELECT * FROM sysobjects WHERE id = OBJECT_ID(N'[dbo].[Table_Name]') AND type in (N'U')



해당 테이블에 인덱스가 있는지 확인방법
SELECT * FROM sysindexes WHERE id = OBJECT_ID(N'[dbo].[T_Post]') AND name = N'IX_T_Post'



해당 테이블에 뷰가 있는지 확인하는 방법

SELECT * FROM sysobjects WHERE id = OBJECT_ID(N'[dbo].[View_Table]')


*MSSQL 2005

해당 테이블이 있는지 확인방법
SELECT * FROM sys.objects WHERE OBJECT_ID= OBJECT_ID(N'[dbo].[Table_Name]') AND type in (N'U')

SELECT * FROM sys.objects WHERE name = 'Table_Name'

SELECT * FROM TEMPDB.information_schema.tables WHERE table_name = 'Table_Name'



해당 테이블에 인덱스가 있는지 확인방법
SELECT * FROM sys.indexes WHERE OBJECT_ID= OBJECT_ID(N'[dbo].[T_Post]') AND name = N'IX_T_Post'



해당 테이블에 뷰가 있는지 확인하는 방법

SELECT * FROM sys.views WHERE OBJECT_ID= OBJECT_ID(N'[dbo].[View_Table]')



*MSSQL 2008

MSSQL 2000/2005 명령어 둘다 사용가능







PS. 임시테이블은 확인하는 방법이 없을까? 아시는분 덧글좀 달아주세요..



한가지 찾아냄....

(##) 지역 임시테이블로 만들면 시스템데이터베이스의 tempdb에 저장된다는 사실.. (#) 글로벌 임시테이블은 어디에??

SELECT * FROM tempdb.dbo.sysobjects WHERE TYPE='U' and name = '##Table_Name'




[출처] [MS-SQL]데이타베이스에 테이블이 있는지 확인하는 방법|작성자 아리울
http://blog.naver.com/PostView.nhn?blogId=sky0210love&logNo=20168648246