易截截图软件、单文件、免安装、纯绿色、仅160KB

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用触发器来替代外键约束

SQLite用触发器来替代外键约束 CREATE TABLE [Category] (
  [Pkid] INTEGER  PRIMARY KEY AUTOINCREMENT NOT NULL,
  [CategoryName] NVARCHAR(32)  NOT NULL,
  [CategoryGuid] char(36)  UNIQUE NOT NULL,
  [CategoryDesc] nvarchar(256)  NULL
) C ......

sqlite 使用

我老婆工作要管理好多的excel表格比较的麻烦,于是想着帮忙写个软件让她方便点
其实我winform软件还没有写过呢,以前写的都是web的
因为写的软件就是她自己用用我想应该不需要用什么大的数据库的,所以我最先想到用access数据库挺方便的文件复制就可以了
可是我没有office access啊,不过我记得电脑上好像有access数据库 ......

SQLite不支持的SQL语法总结


1 TOP
这是一个大家经常问到的问题,例如在SQLSERVER中可以使用如下语句来取得记录集中的前十条记录:
SELECT TOP 10 * from [index] ORDER BY indexid DESC;
但是这条SQL语句在SQLite中是无法执行的,应该改为:
SELECT * from [index] ORDER BY indexid DESC limit 0,10;
其中limit 0,10表示从第0条记录开始,往后 ......

SQLite启动事物

事务(DbTransaction):
SQLite 缺省为每个操作启动一个事务,所以成批插入的时候,启动事务,比不启动事务快n倍。
在没启动事务之前往Sqlite数据库里插入1000多条数据的情况,结果每次都需要一两分钟才能完成.
而在启动事物以后所需要的时间直接变成不到2秒!原来sqlite花两分钟是由于ExecuteNonQuery方法执行时自己提交 ......

QT读写Sqlite数据库 FurtherChan

QT读写Sqlite数据库
//.h
/****************************************************************************
**
** Date    : 2010-05-08
** Author  : furtherchan
** If you have any questions , please contact me
**
****************************************************************** ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号