Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Списък на таблиците, използвани във всички съхранени процедури с името на схемата на SP

Опитайте тази заявка:

SELECT * 
FROM INFORMATION_SCHEMA.ROUTINES

Това ще върне цялата съхранена процедура в текущата база данни, както и схемата, свързана с нея.

Ако искате да получите таблиците и свързаната съхранена процедура, опитайте нещо подобно:

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'

Стойте далеч от изгледите на sysobject и т.н.




  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 Server?

  2. Прикачване на MDF файл без LDF файл

  3. SQL Server 2008 SELECT * FROM @variable?

  4. SQL Server bcp Utility и числовият тип данни

  5. Как да вградите функционалност RUNAS /NETONLY в програма (C#/.NET/WinForms)?