当前位置: 首页 > 面试题库 >

将变量参数列表传递给SqlServer2008存储过程的Sane / fast方法

姚飞昂
2023-03-14
问题内容

相当全面的大脑查询提供了千一百种传递可变长度参数列表的方法,这些方法涉及以下方法:

  • 基于CLR的将字符串解析为整数列表的方法
  • 需要存在“ Numbers”表(wtf?)的表值函数
  • 将数据作为XML传递

我们的要求是将两个可变长度的整数列表(最大20个整数)传递给存储过程。上面概述的所有方法似乎都很有趣。

这仅仅是必须完成的方式,还是有更好的方式?


问题答案:

是的,我一定会为此考虑一下表值参数。附带的好处是,它可能使您可以直接将漂亮的,基于集合的实现用于过程的内部,而无需进行任何数据按摩。

这也是另一个参考…



 类似资料:
  • 问题内容: 我正在创建一些存储过程来管理我的数据库。特别是,我想创建一个存储过程来编辑特定行的一列,但是我想通过将列名作为参数传递来做到这一点。 那就是我想做的 使用该参数,我找到了要编辑的特定行,并且我想使用该参数来仅编辑我想要的列。 正如我在其他主题上所读到的那样,我已经尝试使用或定义局部变量,但没有找到解决方案。 有什么帮助吗? 问题答案: 您将需要使用 动态SQL : 请注意,正如Paul

  • 问题内容: 我有大约六种通用但相当复杂的存储过程和函数,我想以一种更通用的方式使用它们。 理想情况下,我希望能够将表名作为参数传递给过程,因为当前它是硬编码的。 我所做的研究表明,我需要将过程中所有现有的SQL转换为使用动态SQL,以便从参数中拼接动态表名称,但是我想知道是否还有一种更简便的方法可以通过另一种方式引用该表? 例如: 如果是这样,如何从表名设置@MyTable变量? 我正在使用SQL

  • 所以我有两个函数都有相似的参数 现在,调用,但我如何在不修改的情况下传递变量参数列表中的变量(因为这在其他地方也已经使用了)。

  • 问题内容: 我有一个执行另一个由参数及其参数和传递的过程的过程。 但是我还需要动态传递参数,而无需在过程中对其进行编辑。例如,我在想像这样的事情 像这样的字符串在哪里 有没有办法做到这一点? 问题答案: 还不清楚包装程序的目的是什么(审计或调试),这似乎是一个很尴尬的解决方案。如果您解释为什么要执行此操作,那么某人可能会有完全不同的解决方案,并且希望更好。 提案的最大问题是只能将参数作为字符串传递

  • 我在HANA数据库中创建了这个存储过程,它使用两个参数,一个是表类型,另一个是。 现在我想在Java中调用这个过程,我写了这样的东西。 有人能告诉我在调用此存储过程时,如何将对象作为参数中的表实体传递吗?