18 个解决方案
#1
这么批量的更新操作,是不是统一更新字段??
如果是这样,直接传id和需要更改的内容就行了。
如果是这样,直接传id和需要更改的内容就行了。
#2
不可能.
#3
囧,竟然是不可能...
#4
用CLR形式的存储过程吧
#5
希望能详细一点
#6
数组啊 吧你的30个集合 以数组的形式 当参数传进 存储过程!
#7
您说的是
Object[30] obj = {user1,user2...};
可是user也是可封装了很多数据的对象,我在存储过程中又该怎么取user对象里的值呢?
#8
你这样做也可以!
#9
你就是一个 list.count =30 么!?
直接这样嘛!
先在外面读出来 直接将 这个list 传进SP
到SP里面来遍历插入
循环之前定义一个 savapoint
遇到异常 直接 回滚! 就ok了
直接这样嘛!
先在外面读出来 直接将 这个list 传进SP
到SP里面来遍历插入
循环之前定义一个 savapoint
遇到异常 直接 回滚! 就ok了
#10
???怎么做???????
#11
可是我在存储过程中该怎么接收呢?又怎么读取?
#12
sql2008可以接受数据集作为传入参数
(我记不清是行集还是数据集了,反正可以满足楼主的需要)
(我记不清是行集还是数据集了,反正可以满足楼主的需要)
#13
我用的是2005....
#14
首先...事务不只是指数据库事务...你查的方法不对,去看看System.Transactions命名空间...
其次...现在的主流DBMS基本上都是关系型数据库,无法支持你的业务对象,不可以传递对象参数...
最后...较新的DBMS可以使用XML类型,你可以在SP中解析XML,不过得不偿失...
#15
有點難度,學習一下樓上的分析方法,
LZ搞定了把方法給大伙介紹哈阿
LZ搞定了把方法給大伙介紹哈阿
#16
把 list 作为 数组传到sp
那在sp 肯定也要用 数组接受
create or replace package aa
is
type string_array is table of varchar2(100) index by binary_integer;
type int_array is table of number index by binary_integer;
PROCEDURE AddProductVolume
(
P_CID in varchar2,
P_PSID in string_array,
P_INTEGRAL in int_array,
P_INTEGRALSTARTDATE in string_array,
P_INTEGRALENDDATE in string_array,
P_PRICE in int_array,
p_ret out int_array
);
end aa;
这是oracle 的列子!你自己对照这看吧
那在sp 肯定也要用 数组接受
create or replace package aa
is
type string_array is table of varchar2(100) index by binary_integer;
type int_array is table of number index by binary_integer;
PROCEDURE AddProductVolume
(
P_CID in varchar2,
P_PSID in string_array,
P_INTEGRAL in int_array,
P_INTEGRALSTARTDATE in string_array,
P_INTEGRALENDDATE in string_array,
P_PRICE in int_array,
p_ret out int_array
);
end aa;
这是oracle 的列子!你自己对照这看吧
#17
呵呵,好像SqlSv05没什么好办法,你应该历遍行集逐个提交
#18
多步操作好像无法回滚吧,你可是测试一下
#1
这么批量的更新操作,是不是统一更新字段??
如果是这样,直接传id和需要更改的内容就行了。
如果是这样,直接传id和需要更改的内容就行了。
#2
不可能.
#3
囧,竟然是不可能...
#4
用CLR形式的存储过程吧
#5
希望能详细一点
#6
数组啊 吧你的30个集合 以数组的形式 当参数传进 存储过程!
#7
您说的是
Object[30] obj = {user1,user2...};
可是user也是可封装了很多数据的对象,我在存储过程中又该怎么取user对象里的值呢?
#8
你这样做也可以!
#9
你就是一个 list.count =30 么!?
直接这样嘛!
先在外面读出来 直接将 这个list 传进SP
到SP里面来遍历插入
循环之前定义一个 savapoint
遇到异常 直接 回滚! 就ok了
直接这样嘛!
先在外面读出来 直接将 这个list 传进SP
到SP里面来遍历插入
循环之前定义一个 savapoint
遇到异常 直接 回滚! 就ok了
#10
???怎么做???????
#11
可是我在存储过程中该怎么接收呢?又怎么读取?
#12
sql2008可以接受数据集作为传入参数
(我记不清是行集还是数据集了,反正可以满足楼主的需要)
(我记不清是行集还是数据集了,反正可以满足楼主的需要)
#13
我用的是2005....
#14
首先...事务不只是指数据库事务...你查的方法不对,去看看System.Transactions命名空间...
其次...现在的主流DBMS基本上都是关系型数据库,无法支持你的业务对象,不可以传递对象参数...
最后...较新的DBMS可以使用XML类型,你可以在SP中解析XML,不过得不偿失...
#15
有點難度,學習一下樓上的分析方法,
LZ搞定了把方法給大伙介紹哈阿
LZ搞定了把方法給大伙介紹哈阿
#16
把 list 作为 数组传到sp
那在sp 肯定也要用 数组接受
create or replace package aa
is
type string_array is table of varchar2(100) index by binary_integer;
type int_array is table of number index by binary_integer;
PROCEDURE AddProductVolume
(
P_CID in varchar2,
P_PSID in string_array,
P_INTEGRAL in int_array,
P_INTEGRALSTARTDATE in string_array,
P_INTEGRALENDDATE in string_array,
P_PRICE in int_array,
p_ret out int_array
);
end aa;
这是oracle 的列子!你自己对照这看吧
那在sp 肯定也要用 数组接受
create or replace package aa
is
type string_array is table of varchar2(100) index by binary_integer;
type int_array is table of number index by binary_integer;
PROCEDURE AddProductVolume
(
P_CID in varchar2,
P_PSID in string_array,
P_INTEGRAL in int_array,
P_INTEGRALSTARTDATE in string_array,
P_INTEGRALENDDATE in string_array,
P_PRICE in int_array,
p_ret out int_array
);
end aa;
这是oracle 的列子!你自己对照这看吧
#17
呵呵,好像SqlSv05没什么好办法,你应该历遍行集逐个提交
#18
多步操作好像无法回滚吧,你可是测试一下