【发布时间】:2020-07-13 14:56:52
【问题描述】:
我正在使用 Microsoft SQL Server。
我想以一种有效的方式记录存储过程。类似的东西:
服务提供商名称:
Get_Emp_Info
输入:
EmpID INT
输出:
数据集 1:
- 状态字符
- StatusMessage varchar(100)
数据集 2:
- 电子邮件 NVARCHAR(100)
- 名称 NVARCHAR(100),
如果 SP 有许多连接并且输出并不总是来自一个表,我该如何实现?
【问题讨论】:
-
只需向开发人员提供数据库架构 (
CREATE TABLE...) 语句和存储过程源代码 - 但如果他们可以使用 SSMS 连接到数据库,他们应该能够自己获取。只需打开 SSMS > 数据库 > 任务 > 生成脚本,或生成 DACPAC 文件。 -
然后使用
SET FMTONLY ON,看这里:sqlshack.com/see-schema-result-set-running-query -
要像您要求的那样记录没有自动的方法......您必须手动完成。我不清楚连接如何影响创建文档?
-
您是否正在寻找sp_describe_first_result_set - 这是我所知道的最接近的。
-
那永远行不通。如果输出值根本不来自任何表,而是通过组合因素用 sp 计算出来的,情况会怎样呢?这样的工具怎么可能知道它是从哪里来的呢?此外,我还看到很多根据输入参数提供不同记录集(具有不同类型)的 sps - 我讨厌它们,但它们存在。要得到你想要的,你需要自己动手。
标签: sql sql-server stored-procedures