इस दृष्टिकोण को देखते हुए:
CREATE VIEW viewTest
AS
SELECT
books.id,
books.author,
Books.title AS Name
FROM
Books
मैं जो देख सकता हूं वह आप उपयोग किए गए कॉलम और ऐसा करके उपयोग की जाने वाली तालिकाओं को प्राप्त कर सकते हैं:
SELECT *
FROM INFORMATION_SCHEMA.VIEW_COLUMN_USAGE AS UsedColumns
WHERE UsedColumns.VIEW_NAME='viewTest'
SELECT *
FROM INFORMATION_SCHEMA.VIEW_TABLE_USAGE AS UsedTables
WHERE UsedTables.VIEW_NAME='viewTest'
यह एसक्यूएल सर्वर 2005+ के लिए है। यहां संदर्भ देखें
संपादित करें
एक ही मत दो। इस क्वेरी को आजमाएं:
SELECT
c.name AS columnName,
columnTypes.name as dataType,
aliases.name as alias
FROM
sys.views v
JOIN sys.sql_dependencies d
ON d.object_id = v.object_id
JOIN .sys.objects t
ON t.object_id = d.referenced_major_id
JOIN sys.columns c
ON c.object_id = d.referenced_major_id
JOIN sys.types AS columnTypes
ON c.user_type_id=columnTypes.user_type_id
AND c.column_id = d.referenced_minor_id
JOIN sys.columns AS aliases
on c.column_id=aliases.column_id
AND aliases.object_id = object_id('viewTest')
WHERE
v.name = 'viewTest';
यह मेरे लिए यह लौटाता है:
columnName dataType alias
id int id
author varchar author
title varchar Name
इसका परीक्षण sql 2005+ में भी किया जाता है