日期:2014-05-17  浏览次数:20515 次

循环执行存储过程中的一个问题,求解
写了一个存储过程,参数是两个,ID, PREX(前缀)

这个存储过程的作用是返回各个表里 根据主键命名规则而生成的主键

例如
在仓库表里,主键规则是, B(默认) + 12(年份) + C(月份) + A(属性) + seq(00000)
所以主键都是
    B117A00000
    B117A00001
    B129B00000
    B129B00001
这个就是这个存储过程的作用

现在的问题是,像有的程序里调用的时候,只需要返回一个主键seq

但是有的程序里,需要批量生成主键seq,所以就简单的使用for循环,去调用这个存储过程

结果发现在for循环里,每次返回的值都是同一个值,而不是seq的值递增的值

现在不太明白为什么是这样,另外在存储过程里,已经挂上了事物

希望大家能帮帮我分析一下...多谢
------解决方案--------------------
把源代码贴上来看看
------解决方案--------------------
把源代码贴上来看看
------解决方案--------------------
select right('B117A00000') from table where @where ?
------解决方案--------------------
把你的代码贴出来 +1