/*
SQL 서버 메타데이터 정보 가져오는 방법
1. 시스템 저장 프로시져 사용 방법(권고, 메타 데이터를 가져오기 위해서는 시스템 저장 프로시져, 시스템 함수, 시스템 제공 뷰
2. INFORMATION 스키마 뷰 사용 방법
*/
SELECT *
FROM Northwind.INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = N'Customers'
/*
결과 정보 반환
Northwind dbo Customers CustomerID 1 NULL No nchar 5 10 NULL NULL NULL NULL NULL NULL Unicode NULL NULL Korean_Wansung_CI_AS NULL NULL NULL
Northwind dbo Customers CompanyName 2 NULL No nvarchar 40 80 NULL NULL NULL NULL NULL NULL Unicode NULL NULL Korean_Wansung_CI_AS NULL NULL NULL
Northwind dbo Customers ContactName 3 NULL YES nvarchar 30 60 NULL NULL NULL NULL NULL NULL Unicode NULL NULL Korean_Wansung_CI_AS NULL NULL NULL
Northwind dbo Customers ContactTitle 4 NULL YES nvarchar 30 60 NULL NULL NULL NULL NULL NULL Unicode NULL NULL Korean_Wansung_CI_AS NULL NULL NULL
Northwind dbo Customers Address 5 NULL YES nvarchar 60 120 NULL NULL NULL NULL NULL NULL Unicode NULL NULL Korean_Wansung_CI_AS NULL NULL NULL
Northwind dbo Customers City 6 NULL YES nvarchar 15 30 NULL NULL NULL NULL NULL NULL Unicode NULL NULL Korean_Wansung_CI_AS NULL NULL NULL
Northwind dbo Customers Region 7 NULL YES nvarchar 15 30 NULL NULL NULL NULL NULL NULL Unicode NULL NULL Korean_Wansung_CI_AS NULL NULL NULL
Northwind dbo Customers PostalCode 8 NULL YES nvarchar 10 20 NULL NULL NULL NULL NULL NULL Unicode NULL NULL Korean_Wansung_CI_AS NULL NULL NULL
Northwind dbo Customers Country 9 NULL YES nvarchar 15 30 NULL NULL NULL NULL NULL NULL Unicode NULL NULL Korean_Wansung_CI_AS NULL NULL NULL
Northwind dbo Customers Phone 10 NULL YES nvarchar 24 48 NULL NULL NULL NULL NULL NULL Unicode NULL NULL Korean_Wansung_CI_AS NULL NULL NULL
Northwind dbo Customers Fax 11 NULL YES nvarchar 24 48 NULL NULL NULL NULL NULL NULL Unicode NULL NULL Korean_Wansung_CI_AS NULL NULL NULL
*/
SQL SERVER 2000에서 제공하는 INFORMATION 스키마 뷰
CHECK_CONSTRAINTS
COLUMNS
DOMAINS
......
-- 기본으로 제공하는 INFORMATION 스키마 뷰 활용
USE pubs
GO
SELECT * FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS
GO
-- 사용자가 INFORMATION 스키마 뷰 생성
USE master
GO
EXEC sp_configure 'allow updates', 1
RECONFIGURE WITH OVERRIDE
GO
EXEC sp_MS_upd_sysobj_category 1
GO
CREATE VIEW INFORMATION_SCHEMA.DEFAULT_CONSTRAINS
AS
SELECT db_name() as CONSTRAINT_CATALOG,
user_name(c_obj.uid) AS CONSTRAINT_SCHEMA,
c_obj.name AS CONSTRAINT_NAME,
com.text as DEFAULT_CLAUSE
FROM sysobjects c_obj, syscomments com
WHERE c_obj.uid = user_id()
AND c_obj.id = com.id
AND c_obj.xtype = 'D'
GO
EXEC sp_MS_upd_sysobj_category 2
GO
EXEC sp_configure 'allow updates', 0
GO
RECONFIGURE WITH OVERRIDE
GO
USE sample
GO
SELECT *
FROM INFORMATION_SCHEMA.DEFAULT_CONSTRAINS
GO
SELECT db_name(), user_name()
GO
SELECT *
FROM sysobjects
WHERE uid = user_id() AND xtype = 'D'
GO
SELECT *
FROM syscomments
[출처] INFORMATION 스키마 뷰 생성|작성자 주디
'데이터베이스 > SQL Server' 카테고리의 다른 글
데이터베이스 산출물(스키마 내역서) Export (0) | 2008.06.09 |
---|---|
시스템 함수 생성 (0) | 2008.05.08 |
사용자 계정 관리 (0) | 2008.05.08 |
[펌] MSSQL 모든 Table Schema를 구하는 스크립트 (0) | 2008.05.08 |
쿼리 테크닉 - 1부 (0) | 2008.05.07 |