Stored procedures Sybase ASE存储过程

Stored procedures Sybase ASE存储过程,stored-procedures,sap-ase,Stored Procedures,Sap Ase,我想写一个存储过程,需要执行以下步骤 从表中获取所有行,其中flag='Y'和status=!='加工的 更新步骤1中的行,将状态设置为“已处理” 我之所以要这样做,是因为java程序每隔5分钟就会调用一次这个SP,我不想选择我已经从SP返回的行,这就是为什么我需要将它们标记为已处理。类似的内容 检索您感兴趣的行。使用holdlock关键字以确保在选择和更新之间没有任何内容可以隐藏在额外的行中。锁一直保持到事务结束 存储过程使用共享锁执行检索,然后使用update语句将其升级为独占 当事务提交时

我想写一个存储过程,需要执行以下步骤

  • 从表中获取所有行,其中flag='Y'和status=!='加工的
  • 更新步骤1中的行,将状态设置为“已处理”
  • 我之所以要这样做,是因为java程序每隔5分钟就会调用一次这个SP,我不想选择我已经从SP返回的行,这就是为什么我需要将它们标记为已处理。

    类似的内容

    检索您感兴趣的行。使用holdlock关键字以确保在选择和更新之间没有任何内容可以隐藏在额外的行中。锁一直保持到事务结束

    存储过程使用共享锁执行检索,然后使用update语句将其升级为独占

    当事务提交时,锁被释放

    create proc update_status as
    
    begin transaction
    
    select *
        from 
            t1 holdlock
        where 
            flag = 'Y' 
        and status != 'PROCESSED'
    
    update t1 set
            status = 'PROCESSED'
        where
            flag = 'Y'
        and status != 'PROCESSED'
    
    commit
    go
    

    你的问题是什么?请记住,代码帮助请求必须包括到目前为止您为解决问题所做工作的摘要,以及您在解决问题时遇到的困难的描述。您的问题是创建过程还是过程中的SQL?