sql >> Database teknologi >  >> RDS >> Sqlserver

Liste over tabeller brugt i alle lagrede procedurer med SPs skemanavn

Prøv denne forespørgsel:

SELECT * 
FROM INFORMATION_SCHEMA.ROUTINES

Dette vil returnere alle lagrede procedurer i den aktuelle database og også det skema, der er knyttet til den.

Hvis du vil have tabellerne og den tilhørende lagrede procedure, prøv noget som dette:

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'

Hold dig væk fra sysobject etc visningerne




  1. Udefineret klassekonstant 'MYSQL_ATTR_INIT_COMMAND' i udefineret klassekonstant (PHP 5.5.3)

  2. FEJL:Operatoren findes ikke:numerisk ~* ukendt

  3. CREATE FUNCTION fejl Denne funktion har ingen af ​​DETERMINISTISK, INGEN SQL eller READS SQL DATA

  4. Er der en måde at konvertere en varchar til DATETIME i SQL SERVER 2008?