sql >> Databasteknik >  >> RDS >> Sqlserver

Lista över tabeller som används i alla lagrade procedurer med SP:s schemanamn

Testa den här frågan:

SELECT * 
FROM INFORMATION_SCHEMA.ROUTINES

Detta kommer att returnera alla lagrade procedurer i den aktuella databasen och även schemat som är associerat med det.

Om du vill hämta tabellerna och relaterade lagrade procedurer, försök något i stil med detta:

SELECT t.TABLE_NAME, s.ROUTINE_NAME,s.SPECIFIC_SCHEMA
FROM INFORMATION_SCHEMA.TABLES t
INNER JOIN INFORMATION_SCHEMA.ROUTINES s 
ON s.ROUTINE_NAME IN 
(
        SELECT referencing_entity_name 
        FROM sys.dm_sql_referencing_entities(TABLE_SCHEMA + '.' + TABLE_NAME, 'OBJECT')
)
AND s.ROUTINE_TYPE = 'PROCEDURE'
WHERE t.TABLE_TYPE = 'BASE TABLE'

Håll dig borta från vyerna sysobject etc.




  1. Hur ansluter man Android till Oracle-databasen?

  2. MySQL ökar användarvariabeln när värdet ändras

  3. "aktiv" flagga eller inte?

  4. ORA-29531:ingen metod i klassfel