SQLiteÓï·¨ CREATE TRIGGER
ʱ¼ä:
2009-08-14 21:18:18À´Ô´:
ÍøÂç ×÷Õß:
δ
Öª µã»÷:
214
´Î
CREATE TRIGGER
sql-statement ::=
CREATE [TEMP | TEMPORARY] TRIGGER trigger-name [ BEFORE | AFTER ]
database-event ON [database-name .] table-name
CREATE TRIGGER
sql-statement
::=
CREATE
[TEMP
|
TEMPORARY
] TRIGGER
trigger-name
[ BEFORE
|
AFTER
]
database-event
ON
[database-name
.
]
table-name
trigger-action
sql-statement
::=
CREATE
[TEMP
|
TEMPORARY
] TRIGGER
trigger-name
INSTEAD OF
database-event
ON
[database-name
.
]
view-name
trigger-action
database-event
::=
DELETE
|
INSERT
|
UPDATE
|
UPDATE OF
column-list
trigger-action
::=
[ FOR EACH ROW
|
FOR EACH
STATEMENT
]
[ WHEN
expression
]
BEGIN
trigger-step
;
[
trigger-step
;
]*
END
trigger-step
::=
update-statement
|
insert-statement
|
delete-statement
|
select-statement
CREATE
TRIGGERÓï¾äÓÃÓÚÏòÊý¾Ý¿âschemaÖÐÌí¼Ó´¥·¢Æ÷¡£´¥·¢Æ÷ÊÇһЩÔÚÌØ¶¨µÄÊý¾Ý¿âʼþ(database-event
)
·¢Éúʱ×Ô¶¯½øÐеÄÊý¾Ý¿â²Ù×÷(trigger-action
).
´¥·¢Æ÷
¿ÉÓÉÔÚÌØÊâ±íÉÏÖ´ÐеÄDELETE, INSERT, UPDATEµÈÓï¾ä´¥·¢£¬»òUPDATE±íÖÐÌØ¶¨µÄ×Ö¶Îʱ´¥·¢¡£
ÏÖÔÚ
SQLite½öÖ§³ÖFOR EACH ROW´¥·¢Æ÷£¬²»Ö§³ÖFOR EACH STATEMENT´¥·¢¡£Òò´Ë¿ÉÒÔ²»ÓÃÃ÷ȷ˵Ã÷FOR EACH ROW
.FOR EACH ROWµÄÒâ˼ÊÇÓÉtrigger-steps
˵Ã÷µÄSQLÓï¾ä¿ÉÄÜÔÚ(ÓÉWHEN×Ó¾ä¾ö¶¨µÄ)Êý¾Ý¿â²åÈ룬¸ü¸Ä»òɾ³ý
µÄÿһÐд¥·¢trigger.
WHEN
×Ó¾ä
Ïà¹ØÎĵµ£º
Õª Òª: Óë³£¼ûµÄÊý¾Ý¿âÏà±È£¬Ç¶Èëʽ
Êý
¾Ý¿â¾ßÓÐÌå»ýС¡¢¹¦ÄÜÆë±¸¡¢¿ÉÒÆÖ²ÐÔ¡¢½¡×³ÐÔµÈÌØµã£¬±¾ÎÄ·ÖÎöºÍ±È½ÏÁ˵äÐ͵ÄǶÈëʽÊý¾Ý¿âSQLiteºÍBerkeley DB¡£Ê×ÏÈ´ÓÌåϵ½á¹¹¡¢×Óϵͳ
¼äµ÷ÓùØÏµ¡¢ÈÎÎñÖ´Ðйý³ÌµÈ½Ç¶È¶ÔSQLiteºÍBerkeley DB½øÐÐÁËÏêϸ·ÖÎö£¬È»ºóÖØµã´ÓÊý¾ÝÀàÐÍ¡¢´æ´¢·½Ê½¡¢Ä£Ê½¡¢Êý¾Ý¿âÒýÇ ......
ÊÂÎñ£¨DbTransaction£©£º
SQLite ȱʡΪÿ¸ö²Ù×÷Æô¶¯Ò»¸öÊÂÎñ£¬ËùÒÔ³ÉÅú²åÈëµÄʱºò£¬Æô¶¯ÊÂÎñ£¬±È²»Æô¶¯ÊÂÎñ¿ìn±¶¡£
ÔÚûÆô¶¯ÊÂÎñ֮ǰÍùSqliteÊý¾Ý¿âÀï²åÈë1000¶àÌõÊý¾ÝµÄÇé¿ö,½á¹ûÿ´Î¶¼ÐèÒªÒ»Á½·ÖÖÓ²ÅÄÜÍê³É.
¶øÔÚÆô¶¯ÊÂÎïÒÔºóËùÐèÒªµÄʱ¼äÖ±½Ó±ä³É²»µ½2Ãë!ÔÀ´sqlite»¨Á½·ÖÖÓÊÇÓÉÓÚExecuteNonQuery·½·¨Ö´ÐÐʱ×Ô¼ºÌá½» ......
¡¡Android SQLite Database±¾´òËã·â×°SQLiteµÄ£¬µ«ÊÇ£¬·¢ÏÖʵ¼ÊÉÏAndroidÒѾ·â×°ÁËÒ»²ã£¬ÓÈÆäÊÇÊý¾ÝµÄÔö¡¢É¾¡¢²é¡¢¸ÄÉÏ£¬¸üÊÇÈç´Ë£¬ËùÒÔ£¬ÎÒºóÀ´Ö»·â×°ÁËÒ»¸öÁ¬½Ó²ã£¬¸ºÔð´ò¿ª¡¢½¨Á¢Êý¾Ý¿â£¬²¢·µ»ØÒ»¸öSQLiteµÄʵÀýÓÃÀ´Íê³ÉÔö¡¢É¾¡¢²å¡¢¸ÄµÈ²Ù×÷¡£
//----------- DBHelper -------------
package utility.db;
import ja ......
SQLite¹Ù·½ÍøÕ¾Àý×Ó£º
#include <stdio.h>
#include <sqlite3.h>
static int callback(void *NotUsed, int argc, char **argv, char **azColName){
int i;
for(i=0; i<argc; i++){
printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
}
printf("\n");
return 0;
}
i ......
±¾ÎÄÒÔÊý¾Ý¿âÖеÄÊý¾Ý±íUserInfoΪʵÀýչʾÊý¾Ý¿â±íµÄ´´½¨¼°Êý¾Ý¼Ç¼µÄ¼Èë¡£
#!/bin/sh
#variables definition
#database location
db=/conf/db
#
#create table userInfo
#name: User name
#passwd: Password
#Privilege: User privilege -- Administrator:0 Operator:1
#
echo "create table UserInfo(n ......