That's not correct; you can restring inserting values via views. If you insert data through a view, you can implement values-based constraints:
Code:
CREATE TABLE t ( a INT, b INT )@
CREATE VIEW v AS
SELECT a, b
FROM t
WHERE a >= 5
WITH CHECK OPTION@
INSERT INTO v VALUES (5, 1), (6, 2)@
DB20000I The SQL command completed successfully.
INSERT INTO v VALUES (4, 3)@
SQL0161N The resulting row of the insert or update operation does not conform to the view definition. SQLSTATE=44000
The point is that you have to insert into the view (a view is just a table) and not the underlying base table. What is not clear with the initial question is the meaning of the phrase "inserted into a ... particular table". Does it mean that the INSERT operation goes directly against the base table and the base table only? Or can it be directed against the view instead?
Thinking about it, I'd say that "index" is probably the expected answer. The question doesn't say unique index (and a non-unique index doesn't restrict anything), and one could control access to the base table with privileges and only allow data modifications through the view. In fact, you could rename the base table and create the view with the original base table name. Thus, applications wouldn't even know the difference (assuming that static SQL statements are rebound).