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

如何将存储过程中的大量参数从代码传递到SQL Server

黄博艺
2023-03-14
问题内容

如何从代码传递大量参数(例如20+)到存储过程?

就像我们可以将所有参数分组在一个类对象中,然后将其传递给其他对象,但是在存储过程的情况下如何实现这一点。

目前,我必须创建20多个变量才能传递参数。

谢谢阿什瓦尼(Ashwani)


问题答案:

如果您使用的是SQL Server 2008,请使用表值参数。如果您不熟悉,它基本上允许您将表作为参数传递给存储过程。好处是您可以根据自己的需要来构造DataTable传递的外观。

我做了这样的事情,而不是传递数十个参数,而是传递了一个带有两列[KEY]和[VALUE]的TVP。这样,当您将来更改参数时,就会存在一层抽象来隔离迁移。当然,您如何选择实施它取决于情况。



 类似资料:
  • 问题内容: 我有一个具有以下属性的类: 现在,我有一个包含这样的对象的对象, 我需要将此数组列表传递给sql服务器存储过程,并将学生对象数据插入表中。如何在Java中最好地实现这一目标?我需要有一个存储过程。 Java版本8,Sql Server 2014(如果有任何用途)。 问题答案: 使用Mark Rotteveel提供的输入,我能够做到。谢谢马克,肖恩也感谢您的输入。这是可能对您有用的任何人

  • 例如,我有一个员工列表。我想将这个列表作为一个表,并将它与另一个表连接起来。但是员工列表应该作为参数从C#传递。

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

  • 我对Codeigniter有意见。我试图将值从视图传递给控制器,它起作用了。但是当它从控制器传递到模型时有一个问题。它没有将任何值返回到视图中。 这是我的控制器: 这是模型 这就是我的观点 这是存储过程的结果 这是我得到的错误 遇到PHP错误严重性:警告 消息:非法字符串偏移量“id” 文件名:pages/Update2G。php 行号:3 回溯: 文件:C:\xampp\htdocs\Dapot

  • 问题内容: 我是存储过程的新手。 假设我有一个IDCategory(int),并将其传递给存储过程。在正常情况下,它会: 找到我所有与IDCategory等于我要告诉您的IDCategory的列表。 因此,它会显示3清单,并创建一个带有列的表: IDListing,IDCategory,价格,卖方,图像。 我怎样才能做到这一点? 问题答案: 要从存储过程填充数据集,您将具有如下代码: 您的连接字符