728x90

/*
 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

+ Recent posts