怎么传一个大的集合到存储过程里?

时间:2022-10-16 19:53:12
在程序里有一个实体类的集合,比如 List<student> sList
这个 sList 里面有N个学生的资料。
我现在想把这个 sList作为一个参数传到一个存储过程里,然后再进行相关的操作。该怎么操作?

6 个解决方案

#1


把slist 的資料拼接成字符串 ,傳到存儲過程

#2


引用 楼主 xuguv 的回复:
在程序里有一个实体类的集合,比如 List<student> sList
这个 sList 里面有N个学生的资料。
我现在想把这个 sList作为一个参数传到一个存储过程里,然后再进行相关的操作。该怎么操作?


是什么2000,还是2008的sql server

#3


引用 1 楼 weijia_liang 的回复:
把slist 的資料拼接成字符串 ,傳到存儲過程


呵呵,这个是好办法。

先拼接成一个字符串,通过一个特定的分隔符来分隔每个字段,分隔每条记录,然后在存储过程中,再进行分解成一条条的记录。

#4


通过函数把字符串拆成一个“表”,以表变量形式传进去存储过程

#5


引用 楼主 xuguv 的回复:
在程序里有一个实体类的集合,比如 List<student> sList
这个 sList 里面有N个学生的资料。
我现在想把这个 sList作为一个参数传到一个存储过程里,然后再进行相关的操作。该怎么操作?


如果用的是2008,可以考虑把数据插入到一个临时表,然后把这个临时表作为参数,传到存储过程中的:

有趣的自定义类型:表
http://blog.****.net/sqlserverdiscovery/article/details/10384985

#6


直接生產臨時表,在存儲過程中調用這個臨時表就行了

#1


把slist 的資料拼接成字符串 ,傳到存儲過程

#2


引用 楼主 xuguv 的回复:
在程序里有一个实体类的集合,比如 List<student> sList
这个 sList 里面有N个学生的资料。
我现在想把这个 sList作为一个参数传到一个存储过程里,然后再进行相关的操作。该怎么操作?


是什么2000,还是2008的sql server

#3


引用 1 楼 weijia_liang 的回复:
把slist 的資料拼接成字符串 ,傳到存儲過程


呵呵,这个是好办法。

先拼接成一个字符串,通过一个特定的分隔符来分隔每个字段,分隔每条记录,然后在存储过程中,再进行分解成一条条的记录。

#4


通过函数把字符串拆成一个“表”,以表变量形式传进去存储过程

#5


引用 楼主 xuguv 的回复:
在程序里有一个实体类的集合,比如 List<student> sList
这个 sList 里面有N个学生的资料。
我现在想把这个 sList作为一个参数传到一个存储过程里,然后再进行相关的操作。该怎么操作?


如果用的是2008,可以考虑把数据插入到一个临时表,然后把这个临时表作为参数,传到存储过程中的:

有趣的自定义类型:表
http://blog.****.net/sqlserverdiscovery/article/details/10384985

#6


直接生產臨時表,在存儲過程中調用這個臨時表就行了