我有一个SQL查询,它选择一个序列号,然后立即递增该序列号。问题是,当我运行该语句时,select在递增之后返回更新后的序列号。我希望它在更新之前返回序列号,然后执行更新并设置新的序列号。
下面是SQL语句:
START TRANSACTION;
-- Let's get the current value
SELECT serial FROM boxLabelSerial FOR UPDATE;
-- Increment the counter
UPDATE boxLabelSerial SET serial = serial + 1;
COMMIT;
我有一张样本表如下所示
PO_HEADER || ITEM || LINE_NUM
1 X
1 Y
1 Z
1 A
1 B
我想更新line_num列中的序列号,比如1.5。,当我输入另一行时,应该像line_number列中的6一样自动生成下一个序列号。
我想编写代码来更新line_num中的序列号&还想捕获下一个序列号。所以当我输入新行时,我应该得到下一个序列号。
我是一个接受者,对发起者没有控制权。每当启动器连接时,我都会收到此消息
58=MsgSeqNum too low, expecting x but received y
到目前为止,我尝试过ResetOnLogon=Y,但它没有任何帮助。可能启动器没有匹配的配置。
下一个想法是解析字段58并从中设置SeqNum,有没有办法设置SeqNum?(最好不要接触.seqnums文件)
编辑:我找到了一种更改序列号的方法,但它似乎不起作用,仍然得到相同的消息
session.setNextSenderMsgSeqNum(x);
session.setNextTargetMsgSeqNum(x);
我目前正在研究一项技能,当调用时,将返回您的PC的序列号。试图弄清楚Cortana如何在用户机器上运行本地程序,从执行中获取数据,然后说出来。
要找到系统的序列号,您可以使用wmic bios get serialnumber,它将提供一个包含所需信息的stdout。目标是允许Cortana技能启动所述过程,并将其读出给最终用户。发布后,任何用户都应该能够问,“嘿,Cortana,问问序列号查找器我的序列号是什么”,然后拿回他们机器的序列号。