gpt4 book ai didi

sql - 有没有办法确定 SQL Server 存储过程返回记录集

转载 作者:行者123 更新时间:2023-12-02 10:57:56 24 4
gpt4 key购买 nike

我们有一个内部应用程序,它生成 ASP 代码来调用 Oracle 和 SQL 存储过程。

该应用程序查询相应的数据字典,并能够确定参数信息,并相应地构造调用。使用此应用程序的开发人员可以在其项目中包含代码,并使用专用 DTO(也由应用程序生成)向其传递数据。

在 Oracle 中,我们可以愉快地确定是否返回记录集,因为我们使用引用游标,并且这些显示在 Oracle DDL 的参数列表中。

SQL Server 的情况并非如此。目前开发者自己必须知道SQL Server SP是否返回记录集,并在界面上勾选一个选项。这又决定了生成的代码是否包含 ExecuteQueryExecuteNonQuery

虽然这没问题,但最好没有这个选项。有没有一种方法可以通过检查数据字典或其他方式以编程方式确定他的值?

谢谢

詹姆斯

最佳答案

您可以使用 SET FMTONLY [ON|OFF] 检查 SQL 语句生成的结果集格式。 。Reporting Services 等 MS 工具使用此技术来确定输出结果集的结构。

这对于存储过程来说很棘手,因为输出结果集的数量和结构可能会根据输入参数值而变化。如果您的过程代码不简单,那么即使有严格的编码标准,这也很难解决。

我见过其他方法(例如使用扩展参数),但没有一个是绝对可靠的。让开发人员勾选一个框可能是最好的解决方案。

关于sql - 有没有办法确定 SQL Server 存储过程返回记录集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4874265/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com