所有
有没有办法为Postgresql视图添加唯一约束?
CREATE OR REPLACE VIEW export AS
(SELECT nextval('export_view'::regclass)::integer AS pid, getdata.id, getdata.service, getdata.title, getdata.date_taken, getdata.date_inserted, getdata.url,
regexp_replace(getdata.description, E'[\\n\\r]+', ' ', 'g') AS description, getdata.geom
FROM getdata)
我尝试过每一个组合,让这个东西像一个regualr表一样工作,但它仍然无法正常工作。
谢谢, 亚当
答案 0 :(得分:3)
您可以编写一个函数来检查视图选择的数据的完整性。然后,您将向视图中使用的任何表添加后触发器以调用您的函数。每当自制的完整性约束检查器函数发现违规时,您的触发器可能会引发异常以中止事务。
拥有此触发器构造应模拟视图上的约束,但也非常脆弱。遗憾的是,似乎没有为视图添加约束的原生设施。
答案 1 :(得分:0)
没有视图是表的包装器。你必须在表格上加上约束。