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

SQL सर्वर में, मैं हर जगह एक कॉलम का संदर्भ कैसे पा सकता हूं?

चेतावनी: हालांकि यह एक टेक्स्ट-खोज विधि है, मैं जिस स्क्रिप्ट को साझा करने जा रहा हूं, उसने मुझे बहुत सारे घंटे बचा लिया है . यह अंदर खोजता है:

  • स्केलर फ़ंक्शन
  • टेबल-मूल्यवान फ़ंक्शन
  • संग्रहीत प्रक्रियाएं
  • दृश्य
  • ट्रिगर

मुझे इसे मेरे लिए काम करने के लिए एक संयोजन निर्दिष्ट करने की आवश्यकता है।

SELECT
    sys.objects.object_id, 
    sys.schemas.name AS [Schema], 
    sys.objects.name AS Object_Name, 
    sys.objects.type_desc AS [Type]
FROM sys.sql_modules (NOLOCK) 
INNER JOIN sys.objects (NOLOCK) ON sys.sql_modules.object_id = sys.objects.object_id 
INNER JOIN sys.schemas (NOLOCK) ON sys.objects.schema_id = sys.schemas.schema_id
WHERE
    sys.sql_modules.definition COLLATE SQL_Latin1_General_CP1_CI_AS LIKE '%{Column Name}%' ESCAPE '\'
ORDER BY sys.objects.type_desc, sys.schemas.name, sys.objects.name

आउटपुट निम्न की तरह है:

अपडेट करें :यदि आपको एक निश्चित तालिका, SP, आदि की खोज करने की आवश्यकता है, तो आप अधिक विशिष्ट क्वेरी का उपयोग कर सकते हैं:

DECLARE @SCHEMA_NAME VARCHAR(100) = 'dbo';
DECLARE @OBJECT_NAME VARCHAR(100) = 'MY_OBJECT';

SELECT
    sys.objects.object_id,
    sys.schemas.name AS [Schema], 
    sys.objects.name AS Object_Name, 
    sys.objects.type_desc AS [Type]
FROM sys.sql_modules (NOLOCK) 
INNER JOIN sys.objects (NOLOCK) ON sys.sql_modules.object_id = sys.objects.object_id 
INNER JOIN sys.schemas (NOLOCK) ON sys.objects.schema_id = sys.schemas.schema_id
WHERE
    (
           '#' + sys.sql_modules.definition + '#' COLLATE SQL_Latin1_General_CP1_CI_AS LIKE '%[^a-z_]'[email protected]_NAME+'.'[email protected]_NAME+'[^a-z_]%' ESCAPE '\'
        OR '#' + sys.sql_modules.definition + '#' COLLATE SQL_Latin1_General_CP1_CI_AS LIKE '%[^a-z_]\['[email protected]_NAME+'\].'[email protected]_NAME+'[^a-z_]%' ESCAPE '\'
        OR '#' + sys.sql_modules.definition + '#' COLLATE SQL_Latin1_General_CP1_CI_AS LIKE '%[^a-z_]'[email protected]_NAME+'.\['[email protected]_NAME+'\][^a-z_]%' ESCAPE '\'
        OR '#' + sys.sql_modules.definition + '#' COLLATE SQL_Latin1_General_CP1_CI_AS LIKE '%[^a-z_]\['[email protected]_NAME+'\].\['[email protected]_NAME+'\][^a-z_]%' ESCAPE '\'
    )
ORDER BY sys.objects.type_desc, sys.schemas.name, sys.objects.name

पी.एस. :दोनों प्रश्न टिप्पणियों के अंदर भी खोजते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पेश है नई सुविधा - स्पॉटलाइट क्लाउड डेटाबेस ग्रोथ रिपोर्ट

  2. SQL Server Cursor Types - LOCAL और GLOBAL Cursor में क्या अंतर है | SQL सर्वर ट्यूटोरियल / TSQL ट्यूटोरियल

  3. SQL डेटाबेस पुनर्प्राप्ति लंबित पहुँच अस्वीकृत समस्या को ठीक करें

  4. एक्सएमएल पथ ('') के लिए:विशेष पात्रों से बचना

  5. Microsoft SQL सर्वर आपदा पुनर्प्राप्ति सर्वोत्तम अभ्यास