2009-10-11 38 views
5

Làm cách nào để có được tất cả các thủ tục được lưu trữ và mã của chúng từ SQL Server?C#/SQL Lấy tất cả các thủ tục được lưu trữ và mã số của chúng

Tôi cần hiển thị dữ liệu tương tự với những gì SQL Server Management Studio hiển thị, bao gồm. cho phép duyệt qua SP bằng mã, bảng và chỉ mục.

Bất kỳ gợi ý nào về cách lấy thông tin này ra khỏi SQL Server? Tái bút, tôi đang sử dụng C#.

Trả lời

0
SELECT sysobjects.name, syscomments.text 
FROM sysobjects 
JOIN syscomments 
    ON sysobjects.id = syscomments.id 
WHERE xtype='P' 
+0

các "sys.procedures" danh mục view cũng bao gồm các yếu tố của xtype = PC, RF (bộ lọc tái tạo) và X (mở rộng lưu trữ procs) trong danh sách của nó –

0

Nhìn vào xem Information_schema.procedures.

0

Những người khác đã chỉ cho bạn đúng hướng. Cũng có thể hữu ích khi biết về chức năng OBJECT_DEFINITION().

2

Việc sử dụng chế độ xem danh mục "sysobjects" không được khuyến khích như SQL Server 2005 - thay vào đó, bạn nên bắt đầu sử dụng chế độ xem danh mục từ lược đồ "sys" (hoặc khung nhìn INFORMATION_SCHEMA).) như thế này:

SELECT 
    pr.name, 
    m.definition, 
    pr.type_desc, 
    pr.create_date, 
    pr.modify_date 
FROM 
    sys.procedures pr 
INNER JOIN 
    sys.sql_modules m ON pr.object_id = m.object_id 
WHERE 
    is_ms_shipped = 0 
ORDER BY 
    pr.Name 

Marc

Các vấn đề liên quan