IT

SQL Server 2012 스키마의 모든 테이블 이름 나열

itgroup 2023. 8. 6. 10:00
반응형

SQL Server 2012 스키마의 모든 테이블 이름 나열

SQL Server 2012에 스키마가 있습니다.

사용자가 입력한 스키마의 모든 테이블 이름을 가져오기 위해 SQL에서 실행할 수 있는 명령이 있습니까?

MySQL에 대한 유사한 쿼리를 알고 있습니다.SHOW TABLES;그러나 SQL Server에서는 작동하지 않습니다.

당신은 정말로 그것을 사용해야 합니다.INFORMATION_SCHEMA데이터베이스의 보기:

USE <your_database_name>
GO
SELECT * FROM INFORMATION_SCHEMA.TABLES

그런 다음 테이블 스키마 및/또는 테이블 유형을 기준으로 필터링할 수 있습니다.

SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'
SELECT t.name 
  FROM sys.tables AS t
  INNER JOIN sys.schemas AS s
  ON t.[schema_id] = s.[schema_id]
  WHERE s.name = N'schema_name';

SQL Server 2005, 2008, 2012 또는 2014:

SELECT * FROM information_schema.tables WHERE TABLE_TYPE='BASE TABLE' AND TABLE_SCHEMA = 'dbo'

자세한 내용은 다음과 같습니다.TSQL을 사용하여 데이터베이스의 모든 테이블 목록을 가져오려면 어떻게 해야 합니까?

SELECT t1.name AS [Schema], t2.name AS [Table]
FROM sys.schemas t1
INNER JOIN sys.tables t2
ON t2.schema_id = t1.schema_id
ORDER BY t1.name,t2.name
SELECT *
FROM sys.tables t
INNER JOIN sys.objects o on o.object_id = t.object_id
WHERE o.is_ms_shipped = 0;

테이블 이름만 원하는 경우 가장 쉬운 방법은 다음과 같습니다.

SELECT * FROM INFORMATION_SCHEMA.TABLES

스키마와 테이블 이름을 가진 전체 이름과 같은 것이 필요할 때, 이렇게 하는 것보다:

SELECT TABLE_SCHEMA + '.' + TABLE_NAME  FROM INFORMATION_SCHEMA.TABLES
select * from [schema_name].sys.tables

이게 통할 겁니다.사용자가 서버에 있는지 확인합니다. 이 서버는 서버를 구성합니다."[schema_name]"

언급URL : https://stackoverflow.com/questions/21312331/list-names-of-all-tables-in-a-sql-server-2012-schema

반응형