[prev in list] [next in list] [prev in thread] [next in thread] 

List:       sqlite-users
Subject:    Re: [sqlite] SQLite vs. Oracle (parallelized)
From:       Alexey Pechnikov <pechnikov () mobigroup ! ru>
Date:       2009-02-27 11:46:37
Message-ID: 200902271446.37569.pechnikov () mobigroup ! ru
[Download RAW message or body]

Hello!

On Thursday 26 February 2009 18:53:18 Jay A. Kreibich wrote:
>   I agree.  The only major addition I'd like to see is full support for
>   referential integrity.  I know you can fake it, to a degree, with
>   triggers, but I'd still like to see it baked into the database engine
>   itself.

But why? I did use only triggers for referential integrity checks in 
PostgreSQL because trigger can return user-friendly description on national 
lang. As example from SQLIte-based project for russian users:

CREATE TRIGGER users_update_before before update on users begin
  select RAISE (ABORT,'Нельзя изменять идентификатор')
    WHERE OLD.id != NEW.id;
  SELECT RAISE(ABORT, 'Указан несуществующий регион.')
    WHERE NEW.region_id != '' AND (select ROWID from regions where 
id=NEW.region_id) IS NULL;
  SELECT RAISE(ABORT, 'Пользователь с указанным именем уже существует! 
Пожалуйста, придумайте для этого пользователя другое имя.')
    WHERE  (SELECT ROWID FROM users WHERE nickname = NEW.nickname and 
rowid!=NEW.rowid) IS NOT NULL;
end;

Standart foreign key error message is not good for users. User does not 
understand message such as "Foreign key error: ... key ... table...".

Best regards.
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic