我使用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),前缀(您的情况),后缀等。