Try this:
CREATE proc RefreshNo(@aFldName char(40),@aTabName char(40)) AS 
declare @i int
Select @i = 0
Update users set 序号=@i , @i=@i+1

解决方案 »

  1.   

      我觉得存储过程直接执行与编程执行应该没有什么区别,可能是编程执行时由于其它的一些数据库操作导致某些数据被锁住,从而使Update操作失败。不知你是否编了一个简单程序来对这个存储过程进行单独测试,如没不妨试试。
      

  2.   

    我曾经在D4下用SQLSERVER的API调用有光标的procedrue也有此问题(在ISQL_W执行procdrue又没事)。后来只有;
    while  mycheck do
       begin
            exec myproc;
       end;