Oracle 1. .
, , , . , . , , , , .
drop table user_email;
create table user_email
(userid varchar2(4) not null, default_ind varchar2(1) not null,
email varchar2(30));
create unique index ue_x on user_email
(userid, decode(default_ind,'Y','Y',email));
insert into user_email (userid, default_ind, email) values ('fred','N','a');
insert into user_email (userid, default_ind, email) values ('fred','N','b');
insert into user_email (userid, default_ind, email) values ('fred','Y','c');
update user_email
set default_ind = 'N'
where userid = 'fred'
and decode(default_ind,'Y','Y',email) = 'Y';
update user_email
set default_ind = 'Y'
where userid = 'fred'
and email = 'a';
PS. " , default =" Y "check", , , .