在 Oracle 中制作唯一的 slug url

Posted

技术标签:

【中文标题】在 Oracle 中制作唯一的 slug url【英文标题】:Making unique slug url in Oracle 【发布时间】:2014-06-01 07:57:36 【问题描述】:

我正在尝试使用正则表达式在 oracle 中创建唯一的 slug URL。如何获得像 lorem-ipsum-dolor-2 这样的 URL 的数值结尾。我的目的是;在我检查表格上是否存在插入的标题之前,如果存在 slug URL,请检查它的数值 URL 末尾是否存在,如果有数值增加它并保存。我尝试了以下在 C# 中正常工作但在 Oracle 中不工作的正则表达式。

select regexp_like('lorem-ipsum-dolor-2','(\d+)*$') from dual;

【问题讨论】:

在数据库表中,将 slug 的两个部分分成单独的列,第二列是 number 类型。然后你可以添加一个。对两列设置唯一约束,就完成了。 阅读 regexp_like techonthenet.com/oracle/regexp_like.php 【参考方案1】:

你所做的几乎是正确的。

但不是regexp_like' you need to useregexp_substr`:sp

select regexp_substr('lorem-ipsum-dolor-2','\d+$') from dual;

【讨论】:

【参考方案2】:

如果您使用的是 oracle APEX,并且我可以假设您使用的是 URL,那么您可以使用这种情况

select apex_string_util.to_slug('Any, Text!;')  from dual;
>>  any-text

【讨论】:

以上是关于在 Oracle 中制作唯一的 slug url的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Django 中使用反向工作来制作 *** 样式的 URL,以允许 slug 更改?

Codeigniter 博客应用程序:避免 slug 的重复输入错误

仅在url中显示没有id的产品slug

将任何标题转换为 url slug 并从 url slug 转换为标题

Laravel 制作短网址

URL slug 的理想长度是多少