sql-server - 显式设置 ID 属性
问题描述
我一直在使用Sql Server
withEF Core
并且能够在插入期间执行类似的操作ctx.Database.ExecuteSqlRaw("SET IDENTITY_INSERT Persons ON");
来显式设置实体 ID。我用它来做我的测试。
现在我正在与提供者一起使用Oracle
数据库,devart
但我不知道如何做同样的事情。有没有办法用 Oracle 做到这一点?
解决方案
使用 GENERATED BY DEFAULT ON NULL,Oracle 会将您提供的值插入到标识列中。如果没有值或为 NULL,则标识列的值将由 Oracle 生成。
CREATE TABLE demo_table (
id NUMBER GENERATED BY DEFAULT ON NULL,
description VARCHAR2(100) NOT NULL
);
推荐阅读
- jms - jms容器的并发最优值
- google-cloud-platform - 在 PubSub 主题上使用 Cloud Run
- django - 如何从 django 中的其他函数获取对象
- raspberry-pi - 有没有办法在 PyPI 上发布具有相同版本号的多平台轮子?
- java - 如何修复 Java 中的“绑定不匹配”
- canvas - 用 isPointInStroke 改变线条的颜色
- java - 如何通过描述符 web.xml 配置 Undertow 服务器?(就像它发生在Tomcat中一样)
- angular - 仅在一个 ngFor 元素上显示图像
- php - 连接到 Cloud Datastore 时出现致命错误代码 401
- sql - 消息 240,锚点和列中的递归部分之间的类型不匹配