SQL Server 2005 데이터베이스의 모든 보기를 나열하는 SQL 쿼리
SQL Server 2005의 특정 데이터베이스에 대한 모든 보기(보기 이름만 필요)를 열거하려면 SQL 쿼리가 필요합니다.
(이미 제안된 내용으로) 세트오프를 완료하는 방법
SELECT * FROM sys.views
이렇게 하면 sys.objects(모든 유형의 개체에 공통적인 속성을 포함) 또는 INFORMATION_SCHEMA에서 사용할 수 없는 각 뷰에 대한 추가 속성이 제공됩니다.보기. INFORMATION_SCHEMA 접근 방식은 기본적으로 보기 정의를 제공합니다.
SELECT SCHEMA_NAME(schema_id) AS schema_name
,name AS view_name
,OBJECTPROPERTYEX(OBJECT_ID,'IsIndexed') AS IsIndexed
,OBJECTPROPERTYEX(OBJECT_ID,'IsIndexable') AS IsIndexable
FROM sys.views
SELECT *
FROM sys.objects
WHERE type = 'V'
여기서 데이터베이스 이름 추가를 실행합니다.
SELECT TABLE_NAME, ROW_NUMBER() OVER(ORDER BY TABLE_NAME) AS 'RowNumber'
FROM INFORMATION_SCHEMA.VIEWS
WHERE TABLE_CATALOG = 'DatabaseName'
또는 조건을 추가하여 사용할 위치를 제거합니다.
use DataBaseName
SELECT TABLE_NAME, ROW_NUMBER() OVER(ORDER BY TABLE_NAME) AS 'RowNumber'
FROM INFORMATION_SCHEMA.VIEWS
select v.name
from INFORMATION_SCHEMA.VIEWS iv
join sys.views v on v.name = iv.Table_Name
where iv.Table_Catalog = 'Your database name'
액세스해야 할 때가 있습니다.schema
이름. 예를 들어 스키마로 액세스해야 하는 AdventureWorks 데이터베이스를 사용하고 있습니다.
SELECT s.name +'.'+v.name FROM sys.views v inner join sys.schemas s on s.schema_id = v.schema_id
네크로맨싱.
당신이 모든 견해를 말했기 때문에, 엄밀히 말하면, 현재까지의 모든 대답은 틀렸습니다.
모든 보기를 가져오는 방법은 다음과 같습니다.
SELECT
sch.name AS view_schema
,sysv.name AS view_name
,ISNULL(sysm.definition, syssm.definition) AS view_definition
,create_date
,modify_date
FROM sys.all_views AS sysv
INNER JOIN sys.schemas AS sch
ON sch.schema_id = sysv.schema_id
LEFT JOIN sys.sql_modules AS sysm
ON sysm.object_id = sysv.object_id
LEFT JOIN sys.system_sql_modules AS syssm
ON syssm.object_id = sysv.object_id
-- INNER JOIN sys.objects AS syso ON syso.object_id = sysv.object_id
WHERE (1=1)
AND (sysv.type = 'V') -- seems unnecessary, but who knows
-- AND sch.name = 'INFORMATION_SCHEMA'
/*
AND sysv.is_ms_shipped = 0
AND NOT EXISTS
(
SELECT * FROM sys.extended_properties AS syscrap
WHERE syscrap.major_id = sysv.object_id
AND syscrap.minor_id = 0
AND syscrap.class = 1
AND syscrap.name = N'microsoft_database_tools_support'
)
*/
ORDER BY
view_schema
,view_name
이것은 오래된 것이지만, 저는 제가 가지고 있는 모든 뷰에서 모든 SQL 코드를 얻을 수 있는 쿼리를 찾을 수 없었기 때문에 어쨌든 이것을 내놓아야겠다고 생각했습니다.자, 여기 있습니다.
SELECT SM.definition
FROM sys.sql_modules SM
INNER JOIN sys.Objects SO ON SM.Object_id = SO.Object_id
WHERE SO.type = 'v'
언급URL : https://stackoverflow.com/questions/2903262/sql-query-to-list-all-views-in-an-sql-server-2005-database
'programing' 카테고리의 다른 글
C/C++ 애플리케이션의 메모리 누수를 감지하기 위해 Mac OS X Mountain Lion 및 Mavericks에서 Valgrind를 대체할 방법이 있습니까? (0) | 2023.06.26 |
---|---|
파이어베이스 안드로이드에서 특정 값에 대한 푸시된 ID 가져오기 (0) | 2023.06.26 |
ORM 하위 쿼리 유형 (0) | 2023.06.26 |
깃허브에서 어떻게 두 지점을 나눌 수 있습니까? (0) | 2023.06.26 |
각진 스프링 부츠JS html5 모드 (0) | 2023.06.26 |