0
让我们考虑下列插入:如何在SQL Server内部插入选择工作?
INSERT INTO SOMETABLE
SELECT * FROM SOMETABLE
WHERE Column > NUMBER
是否有结果集SELECT
语句是可以改变的,由于插入的危险吗? 换句话说,SELECT
语句可以通过查询引擎计算多少次以执行INSERT INTO SELECT
到同一个表中?
假设:没有并发事务的单线程场景。
否。插入操作是单个ACIDic操作。如果不存在,数据库的整个概念将会出现大问题。 https://en.wikipedia.org/wiki/ACID –
我认为相同,但当我看到单行重复多次而不是一次时,我感到很惊讶。也许我有幻觉,我会再次检查。 – tgrabus
@grabus:你在使用连接吗?将'INSERT'行注释掉并运行'SELECT'部分来解决这样的查询是很方便的。这样,您可以验证您的'SELECT'语句是否拉入您期望的数据。我怀疑你有一个配置错误的连接或一些不好的数据。如果您希望插入唯一的记录,“DISTINCT”可以帮助解决这个问题。 – Ellesedil