The attempted insert or update failed : Updatable View « View « SQL Server / T-SQL Tutorial






because the target view either specifies WITH CHECK OPTION or spans a view that specifies WITH CHECK OPTION and one or more rows resulting from the operation did not qualify under the CHECK OPTION constraint.

4> CREATE TABLE authors(
5>    au_id          varchar(11),
6>    au_lname       varchar(40)       NOT NULL,
7>    au_fname       varchar(20)       NOT NULL,
8>    phone          char(12)          NOT NULL DEFAULT ('UNKNOWN'),
9>    address        varchar(40)           NULL,
10>    city           varchar(20)           NULL,
11>    state          char(2)               NULL,
12>    zip            char(5)               NULL,
13>    contract       bit               NOT NULL
14> )
15> GO
1> insert authors values('1',  'Joe',   'Abra',   '111 111-1111', '6 St.', 'Berkeley',  'CA', '11111', 1)
2> insert authors values('2',  'Jack',  'Majo',   '222 222-2222', '3 St.', 'Oakland' ,  'CA', '22222', 1)
3> insert authors values('3',  'Pink',  'Cherry', '333 333-3333', '5 Ln.', 'Vancouver', 'BC', '33333', 1)
4> insert authors values('4',  'Blue',  'Albert', '444 444-4444', '7 Av.', 'Vancouver', 'BC', '44444', 1)
5> insert authors values('5',  'Red',   'Anne',   '555 555-5555', '6 Av.', 'Regina',    'SK', '55555', 1)
6> insert authors values('6',  'Black', 'Michel', '666 666-6666', '3 Pl.', 'Regina',    'SK', '66666', 1)
7> insert authors values('7',  'White', 'Sylvia', '777 777-7777', '1 Pl.', 'Rockville', 'MD', '77777', 1)
8> insert authors values('8',  'Yellow','Heather','888 888-8888', '3 Pu',  'Vacaville', 'CA', '88888', 0)
9> insert authors values('9',  'Gold',  'Dep',    '999 999-9999', '5 Av.', 'Oakland',   'CA', '99999', 0)
10> insert authors values('10', 'Siler', 'Dean',   '000 000-0000', '4 Av.', 'Oakland',   'CA', '00000', 1)
11> GO

(1 rows affected)

(1 rows affected)

(1 rows affected)

(1 rows affected)

(1 rows affected)

(1 rows affected)

(1 rows affected)

(1 rows affected)

(1 rows affected)

(1 rows affected)
1>
2>
3> CREATE VIEW CA_authors AS
4> (
5> SELECT * FROM authors
6> WHERE state='CA'
7> )
8> WITH CHECK OPTION
9> GO
1>
2> SELECT * FROM CA_authors
3> GO
au_id       au_lname                                 au_fname             phone        address                                  city                 state zip   contract
----------- ---------------------------------------- -------------------- ------------ ---------------------------------------- -------------------- ----- ----- --------
1           Joe                                      Abra                 111 111-1111 6 St.                                    Berkeley             CA    11111        1
2           Jack                                     Majo                 222 222-2222 3 St.                                    Oakland              CA    22222        1
8           Yellow                                   Heather              888 888-8888 3 Pu                                     Vacaville            CA    88888        0
9           Gold                                     Dep                  999 999-9999 5 Av.                                    Oakland              CA    99999        0
10          Siler                                    Dean                 000 000-0000 4 Av.                                    Oakland              CA    00000        1

(5 rows affected)
1> UPDATE CA_authors SET state='IL'
2> GO
Msg 550, Level 16, State 1, Server J\SQLEXPRESS, Line 1
The attempted insert or update failed because the target view either specifies WITH CHECK OPTION or spans a view that specifies WITH CHECK OPTION and one or more rows resulting from the operation did not qualify under the CHECK OPTION constraint.
1> SELECT * FROM CA_authors
2> GO
au_id       au_lname                                 au_fname             phone        address                                  city                 state zip   contract
----------- ---------------------------------------- -------------------- ------------ ---------------------------------------- -------------------- ----- ----- --------
1           Joe                                      Abra                 111 111-1111 6 St.                                    Berkeley             CA    11111        1
2           Jack                                     Majo                 222 222-2222 3 St.                                    Oakland              CA    22222        1
8           Yellow                                   Heather              888 888-8888 3 Pu                                     Vacaville            CA    88888        0
9           Gold                                     Dep                  999 999-9999 5 Av.                                    Oakland              CA    99999        0
10          Siler                                    Dean                 000 000-0000 4 Av.                                    Oakland              CA    00000        1

(5 rows affected)
1> drop VIEW CA_authors;
2> GO
1>
2> drop table authors;
3> GO








16.7.Updatable View
16.7.1.WITH CHECK OPTION
16.7.2.The attempted insert or update failed
16.7.3.DELETE and insert from a view
16.7.4.Insert into a view
16.7.5.Insert into a not-updatable view
16.7.6.Modifying One Column at a Time through a View