我已經在Oracle 12c中創建了一些約束的視圖。但是,當我插入違反約束的值也能夠從視圖中插入。這似乎是一個漏洞。創建視圖有一些限制,但它插入時不出現
- 創建視圖Emp_1
CREATE VIEW Emp_1
AS
SELECT Empid, Ename, Salary
FROM employees
WHERE salary < 25000
這種觀點是要表明誰是有小於25000的工資只有員工。
但是,當我插入超過25000作爲工資的員工,查看允許我插入(這是不正確的)。但它不會出現在我查詢視圖(這是正確的)
這是作爲設計還是我能做些什麼來克服這一點?
從技術上講,這是一個可插入的視圖。所以它允許插入。但從概念上講,用戶只能看到工資低於25000的員工。因此,不允許插入超過條件的員工。
請糾正我,如果我錯了,請幫助。
視圖顯示數據:所以WHERE子句從基礎表過濾行。 – APC