我一直在寻找这个问题,但其中出现的线索往往会从不理解这个问题的人那里得到答案.

采用以下语法:

SET IDENTITY_INSERT Table1 ON

你是如何做到这一点的:

GET IDENTITY_INSERT Table1

我不想对数据库中的数据或设置做任何事情来获取这些信息.谢谢

推荐答案

由于SET IDENTITY_INSERT是会话敏感的,所以它在缓冲区级别进行管理,而不存储在任何地方.这意味着我们不需要判断IDENTITY_INSERT状态,因为我们在当前会话中从不使用这个关键字.

抱歉,没有帮助.

问得好:)

资料来源:Here

Update

if

(select max(id) from MyTable) < (select max(id) from inserted)

--Then you may be inserting a record normally

BEGIN
    set @I = 1 --SQL wants something to happen in the "IF" side of an IF/ELSE
END

ELSE --You definitely have IDENTITY_INSERT on.  Done as ELSE instead of the other way around so that if there is no inserted table, it will run anyway


BEGIN
.... Code that shouldn't run with IDENTITY_INSERT on
END

Sql相关问答推荐

在SQL中对字符串进行逻辑排序,将数字部分排序为数字值

在SQL中向每个子字节组添加字节行

Select /过滤postgr中的树 struct

SQL—如何在搜索的元素之后和之前获取元素?

postgresql插入json不工作

有没有办法在每次计算每一行的数据时更新2个值?

如何利用单列历史SQLsnowflake获得合并结果

我可以在SQL的IN子句中使用比子查询包含的值更少的值吗?

使用同一个表,为什么IN、NOT IN、NOT EXISTS和EXISTS有不同的输出?

将时间范围划分为全天和前后剩余小时

插入具有预期逻辑的查询以Forking 表

SQL JSON_QUERY 使用列中的值构造 json 路径并接收错误

Select 组中的第一行,但在并发环境中

确定小数中使用的精度位数

SQL 根据前一天的最大值计算每天的值数

JSON对象查询SQL服务器

SQL获取两个日期范围之间的计数

如何在 SQL Server 中将 -13422.8450 舍入到 -13422.84

在 postgresql 中,我可以将其组合成一个查询吗?

T-SQL 查询计算日期在其他列中定义的日期之间绑定的行数