Hi,
I'm a little confused by the "on update restrict" option in a referential
integrity constraint. I don't know if i have not understood the meaning of
this statement or it does not work properly.
I think that if it is specified ON UPDATE RESTRICT in a foreign key
costraint, the sql-server should not perform updates on the referenced rows.
Here an example:
testdb=>create table t1 (id int primary key,foo int);
NOTICE: CREATE TABLE/PRIMARY KEY will create implicit index 't1_pkey' for
table 't1'
CREATE
testdb=>create table t2 (id int primary key,ref int references t1(id) on update restrict);
NOTICE: CREATE TABLE/PRIMARY KEY will create implicit index 't2_pkey' for
table 't2'
NOTICE: CREATE TABLE will create implicit trigger(s) for FOREIGN KEY
check(s)
CREATE
testdb=>insert into t1 values (1,3000);
INSERT 19116 1
testdb=>insert into t2 values (1,1);
INSERT 19117 1
testdb=> update t1 set foo=2900 where id=1;
UPDATE 1 <--- for me is wrong, we have updated a row referenced by t2
with ON UPDATE RESTRICT OPTION
What do you think about ?
Thanks in advance
Regards, Silvio
_________________________________________________________________
Scarica GRATUITAMENTE MSN Explorer all'indirizzo
http://explorer.msn.it/intl.asp