gpt4 book ai didi

c# - 使用存储过程将数组插入到sql表中

转载 作者:太空狗 更新时间:2023-10-30 01:04:51 25 4
gpt4 key购买 nike

我有一个这样的表:

keyword (table name)        
----------------
kid key
----------------
1 asp.net
2 php
3 C#‎
4 vb

在网络表单页面中,我有一个文本框,用户可以插入如下字符串:

asp.net,php,C#‎,vb,css

我必须将此字符串插入另一个表中,如下所示:

p-tag (table name)
----------------
pid kid
----------------
1 1
1 2
1 3
1 4


我必须首先检查字符串中的那些词是否存在于关键字中。如果是,将它们插入 p-tag 表中。我可以使用 C# 代码执行此操作,但我想使用存储过程。
可能吗?
注意:我的英语不好,抱歉。

最佳答案

我建议将关键字作为表值参数传递。请参阅本文以了解更多信息 - Table-Valued Parameters .还有一个关于如何使用它的很好的 C# 示例。然后通过单个查询就可以很容易地完成所需的操作。首先为表值参数创建一个类型:

    CREATE TYPE dbo.TableTypeName AS TABLE
( keyName nvarchar(50) )

然后在这样的过程中使用它:

CREATE PROCEDURE sp_UpdateTags 
(@tableParameter dbo.TableTypeName READONLY, @tagId INT)
AS
INSERT [p-tag](pid, kid)
SELECT @tagId, K.kid from @tableParameter tP
inner join [keyword] K on key = tP.keyName

这将只插入关键字表中存在的值。

希望对您有所帮助!

关于c# - 使用存储过程将数组插入到sql表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21510296/

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