버전에 따라 SQL 서버를 실행하는 방법에 대한 쿼리고 목록을 반환하는 사용자가 만든 모든 테이블은 약간의 차이가 있습니다. 아래에는 짧게 검사 TSQL 는 문를 검색하는 데 사용할 수 있습니다 테이블에 목록을 모두 이전 SQL Server2000 년 및 2005 새로운 버전입니다.,
목록은 테이블에서 SQL Server2000
이전 버전의 SQL 서버(예:SQL Server2000 지만,이 방법은 또한에서 지원되는 SQL Server2005 호환성을 위해),해야 합니다 쿼리SYS.SYSOBJECTS
메타데이터 보기입니다. SYS.SYSOBJECTS
행을 포함하는 모든 개체에 대해서 작성되었을 포함하여 데이터베이스stored procedures
,views
,anduser tables
(는 중요한 구별하는system tables
.,)
SYSOBJECTS
테이블 주택 몇 가지 다스의 열기 때문에 데이터를 보유해야에 대한 정보를 거의 모든 것을 서버에 추가한다. 따라서,목록을 찾을 수의 사용자들은 테이블(을 무시하고 따라서system tables
),우리가 필요한 결과를 찾을 수 있는xtype
칼럼(지정하는object type
는 행)값과 동일U
, 는 의미는user table
., 결과 TSQL 문은 다음과 같습니다:
SELECT *FROM SYSOBJECTSWHERE xtype = 'U';GO
참고:때문에SYSOBJECTS
일부이의SYS
네임스페이스, 를 쿼리할 때는SYSOBJECTS
그것은 불필요한을 지정하는SYSOBJECTS
는 일부의 글로벌SYS
네임스페이스,그래서 우리를 생략할 수 있와 같이 설정하시기 바랍니다.
이렇게하면 모든 사용자가 만든 테이블의 결과 목록이 반환됩니다., 이후 금액의 반환되는 정보를 쿼리하면 모든 열은 매우 큰 것입니다,당신이 할 수질 결과를 확인하여 만name
열고 아마crdate
(만든 날짜):
SELECT name, crdateFROM SYSOBJECTSWHERE xtype = 'U';GO
목록은 테이블에서 SQL Server2005 또는 새로운
나열 모든 테이블에서 SQL 서버가 사용하는 경우 새로운 버전(SQL2005 년 이상)의 문제를 쿼리하는INFORMATION_SCHEMA
전망되는 자동으로 SQL Server., 이들을 쉽게 볼 수 있도록 합의 다양한 메타데이터에 대한 이 특정한 SQL 서버 인스턴스에 대한 정보를 포함하여COLUMNS
,ROUTINES
,그리고 심지어는TABLES
.
것을 알 수 있습니다 네 개의 열이 있을 반환할 때 사용하는INFORMATION_SCHEMA.TABLES
보이지만,가장 중요한 열TABLE_TYPE
는지 여부를 결정하는 테이블에서는 행 실제 테이블(BASE TABLE
)나 보기(VIEW
).,
반환 모든 테이블 및 전망 중 하나에서 쿼리를 실행하여 다음과 같은 TSQL 성명:
SELECT *FROM INFORMATION_SCHEMA.TABLES;GO
그것은 또한 현명한 데이터베이스를 지정하고자하는 쿼리:
SELECT *FROM databaseName.INFORMATION_SCHEMA.TABLES;GO
경우만 검색이 실제 테이블과 필터링에서의 전망결과,추가WHERE TABLE_TYPE = 'BASE TABLE'
절:
SELECT *FROM databaseName.INFORMATION_SCHEMA.TABLESWHERE TABLE_TYPE = 'BASE TABLE';GO