gpt4 book ai didi

sql - SELECT 之后的 DROP 是否仍然产生数据?

转载 作者:搜寻专家 更新时间:2023-10-30 23:09:13 24 4
gpt4 key购买 nike

给定一个交易

SELECT * FROM t;
DROP TABLE t;

这有效吗?如果是,结果是什么 - 空集,还是 t 的先前内容?

我对 SQLite 的情况特别感兴趣,但由于以前显然没有人问过这个问题,所以最好看看各种数据库 - 以及它们的各种实现版本(例如移动版本)之间的差异。

最佳答案

答案是“视情况而定”。我所知道的最具可读性的来源是 Melton and Simon's book on SQL:1999 .

Excerpt from Melton and Simon's book

对于那些不明白问题是什么的人,请考虑这个部分事务。

begin transaction; 
select * from t;
drop table t;

如果不在您最喜欢的 dbms 中进行测试,请考虑一下。

  • 客户端是否应该在执行commit; 之前看到任何 行?
  • 客户端是否应该在执行 commit;看到任何行?

然后考虑其他并发查询在各种事务隔离级别下“应该”如何表现。

关于sql - SELECT 之后的 DROP 是否仍然产生数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22259040/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com