我想返回已被DELETE查询删除的ID。
在Stackoverlow上,我发现了这个: How to get ID of the last updated row in MySQL?
top1答案有一个非常好的解决方案,但它适用于mysql。在阅读Firebird手册的某些部分之后,我尝试在Firebird中做同样的事情:
set term ^ ;
EXECUTE BLOCK
AS
DECLARE VARIABLE uids BLOB SUB_TYPE TEXT;
begin
DELETE FROM CATEGORY WHERE name = 'Haló'
AND ( SELECT id INTO :uids );
SELECT @uids;
end
^
是的,我知道'uids'将始终包含一个ID,因为我正在覆盖变量,但它只是一个测试,更重要的是,它不起作用。它在'INTO'停止说“令牌未知 - 第8行,第21栏”。我不知道该做什么,继续做什么......:\
感谢您的帮助!
答案 0 :(得分:2)
为此,请运行单独的查询
喜欢,SELECT ID FROM CATEGORY WHERE name = 'Haló'
答案 1 :(得分:0)
您可以尝试“RETURNING”子句,如下所示:
delete from Scholars
where firstname = 'Henry' and lastname = 'Higgins'
returning lastname, fullname, id