2010-03-25 26 views

Trả lời

8

Đây là những gì bạn yêu cầu:

select 
    s.name as [Schema], 
    o.type_desc as [Type], 
    o.name as [Name] 
from 
    sys.all_objects o 
    inner join sys.schemas s on s.schema_id = o.schema_id 
where 
    o.type in ('U', 'V', 'P') -- tables, views, and stored procedures 
order by 
    s.name 
0

bắt đầu với

select * from sys.sysobjects 

EDIT: Bây giờ với schema

select * from sys.sysobjects 
inner join sys.schemas on sys.sysobjects.uid = sys.schemas.schema_id 
1

Bạn có thể tạo một truy vấn bằng cách sử dụng hệ thống quan điểm INFORMATION_SCHEMA.TABLES, INFORMATION_SCHEMA.VIEWSINFORMATION_SCHEMA.COLUMNS

Edit: Oh và INFORMATION_SCHEMA.ROUTINES cho lưu trữ procs

0

Có một số được xây dựng trong hệ thống quan điểm mà bạn có thể sử dụng:

  • sys.views
  • sys.tables
  • sys.procedures
  • sys.schema

Thông tin thêm về MSDN khoảng Catalog Views.

0

TRY:

SELECT 
    ROUTINE_SCHEMA,ROUTINE_TYPE ,ROUTINE_NAME 
    FROM INFORMATION_SCHEMA.ROUTINES 
UNION 
SELECT 
    TABLE_SCHEMA,TABLE_TYPE,TABLE_NAME 
    FROM INFORMATION_SCHEMA.TABLES 
UNION 
SELECT 
    TABLE_SCHEMA,'VIEW' ,TABLE_NAME 
    FROM INFORMATION_SCHEMA.VIEWS 
    ORDER BY ROUTINE_SCHEMA,ROUTINE_TYPE ,ROUTINE_NAME 
0

Hãy thử SQL này nếu bạn cần phải thâm nhập vào các cột và dữ liệu của họ gõ là tốt. Bạn có thể sử dụng các tùy chọn này cho sysobjects.xtype (U = Người dùng Table, P = Stored Proc, V = Xem)

SELECT object_type = sysobjects.xtype, 
    table_name = sysobjects.name, 
    column_name = syscolumns.name, 
    datatype = systypes.name, 
    length = syscolumns.length 
FROM sysobjects 
JOIN syscolumns ON sysobjects.id = syscolumns.id 
JOIN systypes ON syscolumns.xtype=systypes.xtype 
    WHERE sysobjects.xtype='U' AND 
syscolumns.name LIKE '%[column_name_here]%' 
AND sysobjects.name LIKE '%[table or Stored Proc Name]%' 
ORDER BY sysobjects.name,syscolumns.colid 
0

Đây là câu lệnh SQL tôi đã kết thúc bằng:

SELECT 
     CASE so.type 
      WHEN 'U' THEN 'table' 
      WHEN 'P' THEN 'stored proc' 
      WHEN 'V' THEN 'view' 
     END AS [type], 
     s.name AS [schema], 
     so.[name] AS [name] 
FROM sys.sysobjects so 
JOIN sys.schemas s 
ON so.uid = s.schema_id 
WHERE so.type IN ('U', 'P', 'V') 
ORDER BY [type], [schema], [name] asc 
Các vấn đề liên quan