在Oracle标识列里插入特定的值

Oracle标识列大家都有一些了解,下面就为您详细介绍在Oracle标识列里插入特定的值的实现方法,如果您对此方面感兴趣的 话,不妨一看。

尽管你可以对Oracle标识列(identity column)的值及其任意值的用处有千条万条理由,但是和你共同工作的一些人会坚持在给定的表格里使用连续的主关键字(PK)。然后,当发票号丢失的时候,他们就会恐慌、害怕被起诉、掩盖错误,甚至更糟。

为了解决这个问题,你可以创建一个带有Oracle标识列的表格,并用一些数据行来填充它:

  1. -- Create a test table.  
  2. CREATE TABLE TestIdentityGaps  
  3. (  
  4. ID int IDENTITY PRIMARY KEY,  
  5. Description varchar(20)  
  6. )  
  7. GO  
  8. -- Insert some values. The word INTO is optional:  
  9. INSERT [INTO] TestIdentityGaps (Description) VALUES ('One')  
  10. INSERT [INTO] TestIdentityGaps (Description) VALUES ('Two')  
  11. INSERT [INTO] TestIdentityGaps (Description) VALUES ('Three')  
  12. INSERT [INTO] TestIdentityGaps (Description) VALUES ('Four')  
  13. INSERT [INTO] TestIdentityGaps (Description) VALUES ('Five')  
  14. INSERT [INTO] TestIdentityGaps (Description) VALUES ('Six')  
  15. GO  

现在,删除几个数据行:

  1. DELETE TestIdentityGaps  
  2. WHERE Description IN('Two', 'Five')  

在我们编写代码的时候,我们知道“二(Two)”和“五(Five)”这两个值丢了。我们想要插入两个数据行来填补这些空缺。两个简单的INSERT陈述式无法满足要求;但是,它们会在序列的结尾创建主关键字。

  1. INSERT [INTO] TestIdentityGaps (Description) VALUES ('Two Point One')  
  2. INSERT [INTO] TestIdentityGaps (Description) VALUES ('Five Point One')  
  3. GO  
  4. SELECT * FROM TestIdentityGaps  

你也无法明确地设置标识列的值:

  1. -- Try inserting an explicit ID value of 2. Returns a warning.  
  2. INSERT INTO TestIdentityGaps (id, Description) VALUES(2, 'Two Point One')  
  3. GO  

为了解决这个问题,SQL服务器2000用IDENTITY_INSERT来进行设置。为了强行插入一个带有特定值的数据行,你需要发出命令,然后在后面接上具体插入的内容:

  1. SET TestIdentityGapsON  
  2. INSERT INTO TestIdentityGaps (id, Description) VALUES(2, 'Two Point One')  
  3. INSERT INTO TestIdentityGaps (id, Description) VALUES(5, 'Five Point One')  
  4. GO  
  5. SELECT * FROM TestIdentityGaps  

现在你可以看到新的数据行已经用指定的主关键字值插入了。

注意:对IDENTITY_INSERT的设置可以在任何特定的时候用在数据库里的某个表格上。如果需要在一个或者多个表格里填补空缺,你就必须用具体的命令来明确地指明每个表格。

你可以在一个带有标识列的表格里插入一个具体的值,但是要这样做的话,你必须首先把IDENTITY_INSERT的值设置为ON。如果你没有,你就会看到一条错误消息。即使你把IDENTITY_INSERT的值设置为了ON,但是如果再插入一个已有的值的话,你还是会看到错误消息。

 

 

【编辑推荐】

Oracle命令行自定义编辑器vi

oracle命令行登录的实现

Oracle创建视图的语法

Oracle创建表和索引

带您详细了解Oracle分区索引

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/265520.html<

(0)
运维的头像运维
上一篇2025-05-05 13:02
下一篇 2025-05-05 13:04

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注