当我尝试更新或删除表中存在的记录时,SQL如何表现以及它返回什么。我检查了在不存在的记录上运行更新并且查询基本上运行,没有做任何事情并返回说没有记录受到影响。但是我想了解它在内部是如何工作的以及在这些查询之后结果变量将保持什么。
答案 0 :(得分:0)
这取决于数据库,但通常可以在更新或插入后获取受影响的行。
如果没有更新,您将获得行数的0
。
Pl SQL示例:
declare
i number;
begin
update MyTable set status = 'someStatus' where name = 'someName';
i := sql%rowcount;
end;
T-SQL示例:
UPDATE Table Set Column = 0 WHERE Column IS NULL
SELECT @RowCount = @@ROWCOUNT
它的工作原理取决于数据库供应商。