首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用knex创建oracle regexp约束

无法使用knex创建oracle regexp约束
EN

Stack Overflow用户
提问于 2020-04-22 12:55:07
回答 1查看 176关注 0票数 0

我正在尝试使用oracle数据库上的knex使用regexp创建约束。Knex在oracle列上创建约束,但它替换了"?“带有":1“、":2”这样的占位符。我试图将问号(根据文档)替换为"\?“。在甲骨文数据库对我不起作用。下面是甲骨文列的一个例子

代码语言:javascript
复制
 knex.raw('ALTER TABLE atest ADD CONSTRAINT C_TEST CHECK (REGEXP_LIKE(COL_A, \'^((([A]{0,4})WW)|(W{0,2}))\\?([B]{5}WW)+((([C]{5})W\\?))$\'))');
EN

回答 1

Stack Overflow用户

发布于 2020-04-23 15:03:31

祝贺你!看来您在knex (https://runkit.com/embed/qlo6re5ixn4s)中发现了一个bug。奇怪的是,测试还没有抓到这个。请在knex的github中打开一个bugreport。

尽管数据库在查询位置接受值绑定,但您可以尝试如下:

代码语言:javascript
复制
knex.raw(
  'ALTER TABLE atest ADD CONSTRAINT C_TEST CHECK (REGEXP_LIKE(COL_A, ?))', 
  ['^((([A]{0,4})WW)|(W{0,2}))?([B]{5}WW)+((([C]{5})W?))$']
);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61365681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档