IT序号网

sql之Oracle SQL 字符自动递增

kerrycode 2024年11月01日 编程语言 9 0

我正在使用 Oracle SQL Developer 构建数据库, 我得到了一张带有 city_id [PK] 和 city_name 的城市表, 我希望将我的 city_id 设为 char,我的数据如下所示

|----------------------| 
| CT01 | MEXICO CITY   |  
| CT02 | NEW YORK CITY | 
| CT03 | LONDON        | 
| CT04 | SYDNEY        | 
|----------------------| 

另外,我想让我的主键有一个自增的功能,也就是说当我插入一个city_name时,city_id会增加1, 在这种情况下,如果我插入“HONG KONG”,它的 city_id 将自动设置为“CT05”。

我在网上做了一些研究,我发现使用触发器,但它只适用于数字类型的数据。


另外一个问题,当我创建一个表时,如果我的主键是一个数字,我想将它存储为这样的格式 -> 000001 我应该怎么做才能使我的数据看起来像这样?

谢谢。

请您参考如下方法:

不要这样做。

主键(和一般的键)用于为行提供唯一性。他们不应该性感或好看。它们是内部标识符。如果您尝试这样做,则意味着您想在某处公开 PK 值……这首先不是 PK 的目的。

如果您真的想要一个漂亮的标识符,那么您可以根据需要创建一个具有漂亮格式的辅助“生成”列。该列可以包括额外的格式,例如破折号(例如 SSN)、前缀(您的情况)、后缀等。


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!