Если я правильно понимаю, вы хотите ограничение check:
check
alter table t add constraint chk_t_fields check (username is not null or (loginid is not null and password is not null));
Это проверяет, что один или другие столбцы имеют значения.