Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
sM你是对的,似乎不太普遍。甲骨文和Postgresql都有,除此之外我真的不知道。我猜存储过程的使用可能也不是一个选项,但我真的很喜欢这种情况下的存储过程,因为它能够将api从实现中分离出来。应用程序只显示“getNext”,存储的进程使用它自己的语言特_Sql_Priority Queue - Fatal编程技术网

sM你是对的,似乎不太普遍。甲骨文和Postgresql都有,除此之外我真的不知道。我猜存储过程的使用可能也不是一个选项,但我真的很喜欢这种情况下的存储过程,因为它能够将api从实现中分离出来。应用程序只显示“getNext”,存储的进程使用它自己的语言特

sM你是对的,似乎不太普遍。甲骨文和Postgresql都有,除此之外我真的不知道。我猜存储过程的使用可能也不是一个选项,但我真的很喜欢这种情况下的存储过程,因为它能够将api从实现中分离出来。应用程序只显示“getNext”,存储的进程使用它自己的语言特,sql,priority-queue,Sql,Priority Queue,sM你是对的,似乎不太普遍。甲骨文和Postgresql都有,除此之外我真的不知道。我猜存储过程的使用可能也不是一个选项,但我真的很喜欢这种情况下的存储过程,因为它能够将api从实现中分离出来。应用程序只显示“getNext”,存储的进程使用它自己的语言特性来确定要做什么。DB2的更高版本可以从新表中选择(更新…)-但是,iSeries版本(我想只有zSeries、LUW)上不存在这种情况。此外,根据作业在系统中的预期停留时间,清理作业可能无法确定要解锁的实例。 CREATE TABLE tes


sM你是对的,似乎不太普遍。甲骨文和Postgresql都有,除此之外我真的不知道。我猜存储过程的使用可能也不是一个选项,但我真的很喜欢这种情况下的存储过程,因为它能够将api从实现中分离出来。应用程序只显示“getNext”,存储的进程使用它自己的语言特性来确定要做什么。DB2的更高版本可以
从新表中选择(更新…
)-但是,iSeries版本(我想只有zSeries、LUW)上不存在这种情况。此外,根据作业在系统中的预期停留时间,清理作业可能无法确定要解锁的实例。
CREATE TABLE test (
  id int PRIMARY KEY,
  priority int,
  status int
)
 try = 0;
 while(try++ < max_tries) {
   result = query("SELECT id FROM test WHERE status=0 ORDER BY priority LIMIT 0,1");
   if(result not empty) {
      /* found a row, try to update */
      result2 = query("UPDATE test SET status=1 WHERE id={result[id]} AND status=0");
      if(affected_rows(result2) > 0) {
         /* if update worked fine, we can use this ID */
         return result[id];
      }
      /* otherwise try again */
 }
 return NULL;