Oracle SQL中的条件输入

问题描述 投票:1回答:1

我正在使用Oracle sql开发人员。我需要创建一个表:

EXTPROG (ActId, ActName)

ActId Varchar2(4), 
ActName Varchar2(10)  

是两列。 ActId应始终以A开头

如何在创建表时执行此操作?

sql oracle10g rdbms
1个回答
0
投票

这取决于ActId字段的功能。

  • 如果你想进行插入后验证(例如,你从某个地方导入数据) - jarlh的advice非常适合。我还会看一下DEFERRABLE选项的约束,在这种情况下可能会有所帮助。
  • 如果ActId是代理主键(或者应该以某种方式生成)并且您想自己填写它,我建议您为这些目的创建序列: insert into EXTPROG (ActId, ActName) values ('A' || lpad(to_char(EXTPROG_SEQ.NextVal), 3, '0'), 'SomeName') 在这种情况下,考虑到你的ActId场的相对较小的尺寸。
© www.soinside.com 2019 - 2024. All rights reserved.