获取约束字段的有效输入

时间:2012-12-09 22:14:02

标签: database perl informix

我有一个Informix数据库,我真的很喜欢'enum'字段。由于Informix(至少在我受限制的版本中)没有内置的枚举类型,我使用了一些Google-Foo来发现我可以将VARCHAR字段限制为仅允许某些值,如下所示:

ALTER TABLE table ADD CONSTRAINT CHECK (type IN ('type1',  'type2', 'type3'));

这似乎运作良好。现在我需要从Perl脚本连接到数据库,该脚本根据这些有效值检查用户输入。我当然可以在代码中检查它们并确保我的代码知道数据库需要的值是什么,但我想知道是否有任何方法可以让我的脚本查询数据库上的约束因此如果我需要添加/删除稍后有效输入我可以改变约束,处理代码会适应。

任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:1)

如果您在DBIx::Class架构中封装了数据库访问权限,则可以获得此类验证“作为奖励”。 从预先存在的数据库生成模式的简单方法是 dbicdump