sql >> Databáze >  >> RDS >> Sqlserver

Seznam tabulek použitých ve všech uložených procedurách s názvem schématu SP

Zkuste tento dotaz:

SELECT * 
FROM INFORMATION_SCHEMA.ROUTINES

Tím se vrátí všechny uložené procedury v aktuální databázi a také schéma s ní spojené.

Pokud chcete získat tabulky a související uloženou proceduru, zkuste něco takového:

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'

Drž se dál od zobrazení sysobject atd




  1. MYSQL počet vložených a aktualizovaných záznamů

  2. Perl - DBI a .pgpass

  3. MySQL nepodporuje limitní klauzuli uvnitř podvýběru, jak to mohu udělat?

  4. Aktualizace MySQL sloupec z jiného sloupce ve stejné tabulce