Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Danh sách các bảng được sử dụng trong tất cả các thủ tục được lưu trữ với tên lược đồ của SP

Hãy thử truy vấn này:

SELECT * 
FROM INFORMATION_SCHEMA.ROUTINES

Thao tác này sẽ trả về tất cả thủ tục được lưu trữ trong cơ sở dữ liệu hiện tại và cả lược đồ được liên kết với nó.

Nếu bạn muốn lấy các bảng và thủ tục lưu trữ liên quan, hãy thử một cái gì đó như sau:

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'

Tránh xa các chế độ xem sysobject vv




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLServer - Làm cách nào để tìm các bảng phụ thuộc trên bảng của tôi?

  2. Cách nhận các giá trị cột trong một giá trị được phân tách bằng dấu phẩy

  3. Làm cách nào để SẮP XẾP theo thứ tự đã nhập trong SQL Server?

  4. Bảng lịch sử SQL Server - điền thông qua SP hoặc Trigger?

  5. Thêm biểu tượng cảm xúc / biểu tượng cảm xúc vào bảng SQL Server