|
Date: 2005-11-22 12:02
Sender: lacak Logged In: YES user_id=1189292 Your Feature Request has already been been recorded in the tracker database. Accordingly, your request has been deleted, since it is a duplicate request. Additionally, we currently don't use the SF Feature Request manager. So if you have any further feature requests, they should be posted to the SF bug tracker, and assigned to the "Feature Request" Group. Thanks for your interest in the project. Looking again at SQL:2003 and current implementation in FB 2.1, I see there a little difference :
SQL:2003 does not specify "AS" before <triggered SQL statement> So I suggest change it slightly : CREATE TRIGGER <trigger name> {BEFORE | AFTER} {INSERT | UPDATE | DELETE [ | OR {INSERT | UPDATE | DELETE} ...]} [POSITION n] ON <table name> [FOR EACH ROW] <sql statement or sql block> 1. Omit "AS" or make it optional 2. add optional "FOR EACH ROW" These changes will make syntax of CREATE TRIGGER much more close to SQL:2003 and also to other implementations (Oracle, PostgreSQL,MySQL) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sender: lacak
Logged In: YES
user_id=1189292
MySQL:
------
CREATE TRIGGER <trigger name>
{BEFORE | AFTER }
{INSERT | DELETE | UPDATE }
ON <table name>
FOR EACH ROW
BEGIN
...
END
PostgreSQL:
-----------
CREATE TRIGGER name { BEFORE | AFTER } { event [ OR ... ] }
ON table [ FOR [ EACH ] { ROW | STATEMENT } ]
EXECUTE PROCEDURE funcname ( arguments )
MSSQL:
------
CREATE TRIGGER <trigger name>
ON <table name>
FOR INSERT , DELETE , UPDATE
AS
BEGIN
...
END
Oracle:
-------
CREATE TRIGGER <trigger name>
{BEFORE | AFTER | INSTEAD OF}
{INSERT OR DELETE OR UPDATE }
ON <table name>
[REFERENCING ...]
[FOR EACH ROW]
[WHEN ...]
Each DBMS accepts syntax :
"ON <table name>", but current FB "FOR <table name>"