我如何传递一个多列数据表与N行数作为CSV
本文关键字:数据表 CSV 何传递 一个 | 更新日期: 2023-09-27 17:50:59
假设有一个叫做计算机科学学士的学术课程。假设是4年,假设总共有50门课程分布在4年里。假设我需要保存这50门课程和学术课程名称,我肯定需要使用集合。
所以在DB中有两个表Academics
表和Courses
表,在这种情况下,一行将保存到Academics
, 50行将保存到Courses
但是假设有一个场景,我被告知使用CSV
而不是集合。所以stored procedure
有一个类型为varchar(max)
的输入变量来接受来自客户端的csv
。
假设我需要在csv
string
中为每一行数据包括这些列(假设datagridview
上当前显示的50门课程)
CourseID
YearNo --> when the student has the do this course in 1st year, 2nd year etc.
IsCompulsory --> any course a student select can be either compulsory or an elective
- 我如何把这些列和行在一个
csv
字符串? - 使用
CSV
字符串来保存上面的集合(多列集合)是常见的做法吗? - 我被告知开发人员使用
CSV
字符串来存储集合,这是现实吗?
谢谢
1)在CSV字符串中放置列的一般解决方案是:
SELECT column + ',' FROM table FOR XML PATH('') WHERE condition
这是一种常见的做法,但我不确定这是否总是一个好方法
如果使用集合,则应该使用XML。xml易于创建、解析和维护。查看这里的一个示例: