我有一张表Names
Id Name
+----+---------------+
1 John
2 Kate
3 Mark
我想创建一个执行以下操作的存储过程:
1)将名称列表作为字符串作为输入参数
我已经对此做了一些研究,但找不到最好的方法。我将在C#应用程序中调用实体框架中的存储过程。我想在一个用逗号分隔的字符串中传递名称,并在程序中将它们分开。但无法弄清楚这是如何完成的。
2)对于列表中的每个名称,如果Name
列中不存在该名称,请为其插入新行。
如果切换案例存在,如何进行切换,如果不是
则插入3)选择输入列表中的*行。
添加所有缺少的名称后,我想选择输入列表中所有名称为
的名称这可以在一个存储过程中完成,还是必须将它们分成多个。
我正在寻找有关如何执行每个步骤的提示,以及它们是否可以合并。
由于
答案 0 :(得分:0)
答案 1 :(得分:0)
如果将逗号分隔列表作为参数传递给存储过程,则需要了解如何使用charindex
,left
,substring
和{{1} }
在拆分每个名称时 - 您可以将它们添加到临时表或表值变量中。
您是否使用right
语句insert
子查询Names
exists()
表中的insert
新名称的决定。
然后,您最终可以将一个select语句设置为join
您的临时表/表值变量返回到您的Names
表,以取出所有键(包括新键)并传递他们回到你的前端。