如何在sql server的函数中传递多个记录

时间:2016-04-28 07:20:11

标签: c# sql sql-server

我只是尝试将表类型作为sql server函数的参数传递

情景:        我有客户销售表格。当我在销售表单中放入一个必须影响两个表格的条目时。所以我决定创建一个函数来将两个表值作为一个类型传递并在其中执行该过程。但我不能。  在这种情况下,客户有一条记录,销售有一条或多条记录。现在我需要知道如何声明函数以及如何在C#.net。

中执行它

客户

cus_id                                
cus_name                              
cus_totpurchasecost  

销售

cus_id              
sales_id         
item_id                  
item_qty               
item_cost

customer(1,'ddddd',10000)

sales(1,1,2,2000)          
sales(1,2,6,1000)

先谢谢

2 个答案:

答案 0 :(得分:0)

这里有几个选项。

您可以创建一个存储过程来将记录添加到适用的表(而不是函数),然后使用ADO.NET来执行它。这是"旧学校"方法,网上有很多例子。

通常,您将为每个CRUD操作(创建,读取,更新,删除)创建存储过程,然后在C#代码中使用调用这些Store Procs解析所需参数的方法。

这是更安全的"而不是在C#代码中构造SQL代码,因为它避免了SQL注入攻击的风险(尽管不完全)。

请参阅:

  1. How to create a Stored Procedure
  2. ADO.NET Basics
  3. 另一种方法是使用ORM(对象关系映射器)或MicroORM框架来使这项工作更容易一些。这被认为是"更新的"做事的方式。

    请参阅:

    1. Entity Framework (ORM)
    2. PetaPoco (MicroORM)

答案 1 :(得分:-1)

你可以在行中使用游标来逐行操作。