Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

किसी दृश्य में प्रयुक्त उपनाम का वास्तविक स्तंभ नाम ज्ञात कीजिए?

इस दृष्टिकोण को देखते हुए:

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+ में भी किया जाता है



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में पैरेंट टेबल, संदर्भ तालिका, विदेशी कुंजी बाधा नाम और कॉलम कैसे प्राप्त करें - SQL सर्वर / TSQL ट्यूटोरियल भाग 71

  2. SQL सर्वर में लॉगिन के रूप में सक्रिय निर्देशिका उपयोगकर्ता समूह कैसे जोड़ें

  3. क्या कोई विदेशी कुंजी स्वचालित रूप से एक अनुक्रमणिका बनाती है?

  4. SQL क्वेरी ऑप्टिमाइज़ेशन:बेहतर प्रदर्शन के लिए सर्वोत्तम अभ्यास

  5. सर्वर से कनेक्ट नहीं हो सकता - नेटवर्क से संबंधित या उदाहरण-विशिष्ट त्रुटि