다음을 통해 공유


sp_tables(Transact-SQL)

현재 환경에서 쿼리할 수 있는 개체의 목록을 반환합니다. 동의어 개체를 제외한 모든 사용자 테이블, 시스템 테이블 또는 뷰가 여기에 해당합니다.

[!참고]

동의어의 기준 개체 이름을 확인하려면 sys.synonyms 카탈로그 뷰를 쿼리합니다.

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

sp_tables [ [ @table_name = ] 'name' ] 
     [ , [ @table_owner = ] 'owner' ] 
     [ , [ @table_qualifier = ] 'qualifier' ] 
     [ , [ @table_type = ] "type" ] 
     [ , [@fUsePattern = ] 'fUsePattern'];

인수

  • [ @table_name= ] 'name'
    카탈로그 정보를 반환하는 데 사용되는 테이블 또는 뷰입니다. name은 nvarchar(384)이며 기본값은 NULL입니다. 와일드카드 패턴 일치가 지원됩니다.

  • [ @table_owner= ] 'owner'
    카탈로그 정보를 반환하는 데 사용되는 테이블의 소유자입니다. owner는 nvarchar(384)이며 기본값은 NULL입니다. 와일드카드 패턴 일치가 지원됩니다. 소유자를 지정하지 않은 경우 기본 DBMS의 기본 테이블 표시 유형 규칙이 적용됩니다.

    SQL Server에서는 현재 사용자가 지정된 이름의 테이블을 소유한 경우 해당 테이블의 열이 반환됩니다. 소유자를 지정하지 않았으며 현재 사용자가 지정된 이름의 테이블을 소유하고 있지 않은 경우 이 프로시저는 데이터베이스 소유자가 소유한 지정된 이름의 테이블을 찾습니다. 테이블이 있을 경우 해당 테이블의 열이 반환됩니다.

  • [ @table_qualifier= ] 'qualifier'
    테이블 한정자의 이름입니다. qualifier는 sysname이며 기본값은 NULL입니다. 다양한 DBMS 제품에서 테이블에 대해 세 부분으로 구성된 이름(qualifier**.owner.**name)을 지원합니다. SQL Server에서 이 열은 데이터베이스 이름을 나타냅니다. 일부 제품에서는 테이블 데이터베이스 환경의 서버 이름을 나타냅니다.

  • [ , [ @table_type= ] "'type', 'type'" ]
    쉼표로 구분된 값 목록으로서 지정된 테이블 유형의 모든 테이블에 대한 정보를 제공합니다. 여기에는 TABLE, SYSTEMTABLEVIEW가 포함됩니다. type은 varchar(100)이며 기본값은 NULL입니다.

    [!참고]

    각 테이블 유형은 작은따옴표로 묶고, 전체 매개 변수는 큰따옴표로 묶어야 합니다. 테이블 유형은 대문자로 표시해야 합니다. SET QUOTED_IDENTIFIER가 ON이면 모든 작은따옴표는 큰따옴표로 바꾸고 전체 매개 변수는 작은따옴표로 묶어야 합니다.

  • [ @fUsePattern = ] 'fUsePattern'
    밑줄(_), 백분율(%) 및 대괄호([ 또는 ]) 문자를 와일드카드 문자로 해석할지 여부를 결정합니다. 유효한 값은 0(패턴 일치 해제)과 1(패턴 일치 설정)입니다. fUsePattern은 bit이며 기본값은 1입니다.

반환 코드 값

없음

결과 집합

열 이름

데이터 형식

설명

TABLE_QUALIFIER

sysname

테이블 한정자 이름입니다. SQL Server에서 이 열은 데이터베이스 이름을 나타냅니다. 이 필드는 NULL이 될 수 있습니다.

TABLE_OWNER

sysname

테이블 소유자 이름입니다. SQL Server에서 이 열은 테이블을 만든 데이터베이스 사용자의 이름을 나타냅니다. 이 필드는 항상 값을 반환합니다.

TABLE_NAME

sysname

테이블 이름입니다. 이 필드는 항상 값을 반환합니다.

TABLE_TYPE

varchar(32)

테이블, 시스템 테이블 또는 뷰입니다.

REMARKS

varchar(254)

SQL Server는 이 열의 값을 반환하지 않습니다.

주의

상호 운용성을 최대한 높이려면 게이트웨이 클라이언트가 SQL-92-표준 SQL 패턴 일치(% 및 _ 와일드카드 문자)만 허용해야 합니다.

현재 사용자의 특정 테이블에 대한 읽기 또는 쓰기 액세스에 대한 권한 정보는 항상 확인되지는 않습니다. 그렇기 때문에 액세스는 보장되지 않습니다. 이 결과 집합은 테이블 및 뷰뿐만 아니라 이러한 유형을 지원하는 DBMS 제품으로의 게이트웨이에 대한 동의어 및 별칭을 포함합니다. sp_server_info에 대한 결과 집합에서 서버 특성인 ACCESSIBLE_TABLES가 Y인 경우 현재 사용자가 액세스할 수 있는 테이블만 반환됩니다.

sp_tables는 ODBC에서 SQLTables와 같습니다. 반환된 결과는 TABLE_TYPE, TABLE_QUALIFIER, TABLE_OWNERTABLE_NAME 순으로 정렬됩니다.

사용 권한

스키마에 대한 SELECT 권한이 필요합니다.

1. 현재 환경에서 쿼리할 수 있는 개체 목록 반환

다음 예에서는 현재 환경에서 쿼리할 수 있는 개체 목록을 반환합니다.

EXEC sp_tables ;

2. 데이터베이스의 테이블 정보 반환

다음 예에서는 AdventureWorks2008R2 데이터베이스에서 Person 스키마에 속한 테이블에 대한 정보를 반환합니다.

USE AdventureWorks2008R2;
GO
EXEC sp_tables 
   @table_name = '%',
   @table_owner = 'Person',
   @table_qualifier = 'AdventureWorks2008R2';