数据库内的存储过程列表

时间:2015-08-09 20:34:07

标签: sql-server stored-procedures

我的正确调用数据到我的一个数据库(Parameter of stored procedure not found

为了进一步调试,提取我的数据库中的可用存储过程列表以及调用每个过程的参数可能会有所帮助。

如何使用Delphi代码从数据库中获取此信息?

  • DELPHI XE 2
  • 数据库SQL Server 2008
  • ADO

1 个答案:

答案 0 :(得分:2)

以下查询将列出默认数据库中所有用户定义的存储过程(包括其参数和参数类型):

SELECT
  sp.name,
  p.name AS Parameter,
  t.name AS [Type]
FROM
 sys.procedures sp
  LEFT JOIN sys.parameters p
    ON sp.object_id = p.object_id
  LEFT JOIN sys.types t
    ON p.system_type_id = t.system_type_id
WHERE 
  is_ms_shipped = 0 
ORDER BY
  sp.name

将它放入ADOQuery对象并将其设置为Active。 (使用LEFT JOINS更新了答案,使其包含不带参数的SP。)