我的.net项目中有一项要求是使用存储过程将数组存储到数据库中。我在网上搜索,但结果却很混乱。有一些tut.s像This和一个称为表值参数的概念。我想将这两个数组插入到具有相应值的表中。
我的两个数组看起来像:
stop={Hydrabad, Banglore, Chennai}
和
time={15:00, 00:11, 4:45}
我的存储过程:
ALTER proc [dbo].[InsertRoutes]
@RouteNo nvarchar(10),
@RouteName nvarchar(30),
@StartingTime time(7),
@MorningCollege time(7),
@EveningCollege time(7),
@Stop nvarchar(200),
@Time nvarchar(200)
AS
BEGIN
insert into tbl_Routes([RouteNo], [RouteName], [StartingTime],
[MorningToCollege], [EveningFromCollege])
values(@RouteNo, @RouteName, @StartingTime,
@MorningCollege, @EveningCollege)
END
停止时间应插入另一个表tbl_stops
。
我在sql中不是那么多亲,请一些机构建议好的教程或工作代码
更新无论如何,我可以通过使用dbo.split将一个数组保存到一列来设置我自己
insert into tbl_Stop(RouteName)
select DATA from dbo.Split('1212,323,34532',',')
但我无法进一步插入两列,如:
insert into tbl_stop(RouteName,Stop)
................................
................................
上面写的是什么????
答案 0 :(得分:0)
您提供的链接包含将数组传递给存储过程并处理它们的各种方法。如果您正确地遵循该教程,您可以解决您的问题。
但是,您可以浏览this article,其中显示了如何使用存储过程在表中插入多个值(数组)。
表值参数是从Sql Server 2008开始的另一个选项。查看解释TVP的this教程。 This教程展示了如何在asp.net中使用TVP。