SQLITE触发器这样创建不对吗?请教前辈
CREATE TRIGGER IF NOT EXISTS trigger_al_i BEFORE INSERT ON asset_lists
FOR EACH ROW
BEGIN
SELECT CASE
WHEN name = NEW.name THEN RAISE(ABORT, '新增资产与编号为 ' || lid || ' 的资产名称冲突。')
WHEN pinyin = NEW.pinyin THEN RAISE(ABORT, '新增资产与编号为 ' || lid || ' 的资产拼音冲突。') END
FROM asset_lists WHERE name = NEW.name OR pinyin = NEW.pinyin;
END;总是提示我:near "||": syntax error
莫非 RAISE 中的消息只能是个简单的字符串,不可以拼接?不可以引用表中数据?
-------------------------------------------------------------------------
我只想问这种触发器该如何实现,请不要给出其他的解决方法,我知道 UNIQUE 这个字段就可以了,我这里只是写个简单的做测试,谢谢!
相关推荐
SQLite 轻型数据库
SQLite是一个类似于Access的单机版数据库管理系统,它将所有数据库的定义(包括定义、表、索引和数据本身)都保存在一个单一的文件中。并且,SQLite是一个用C实现的类库,它在内存消耗、文件体积、简单性方面都有不错的表现,如果数据在10W条以下,查询速度也是相当快的。 SQLite具有以下特征: 实现多数SQL92的标准,包括事务(原子性、一致性、隔离性和持久性)、触发器和大多数的复杂查询。 不对插入或者更新的数据进行类型检查,你可以将字符串插入到整数列中(这个可能让有些用户不太适应)。 支持Windows/Linux/Unix等主流系统,还支持嵌入式系统如Android或Windows Mobile。
sqlite 触发器
sqlite 触发器sqlite 触发器sqlite 触发器sqlite 触发器sqlite 触发器sqlite 触发器sqlite 触发器sqlite 触发器sqlite 触发器sqlite 触发器sqlite 触发器sqlite 触发器sqlite 触发器sqlite 触发器sqlite 触发器sqlite 触发器sqlite 触发器sqlite 触发器sqlite 触发器sqlite 触发器sqlite 触发器
SQLite触发器详细指南
SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月。 至今已经有13个年头,SQLite也迎来了一个版本 SQLite 3已经发布。
用触发器实现SQLite的外键约束
最近在做数码相框上的嵌入式开发,开发过程中使用的SQLite数据库,但是编码的过程中,遇到个问题,SQLite不支持外键约束,外键约束会被解析但不会被执行。
SQLite触发器的SQL语法.pdf
SQLite触发器的SQL语法.pdf


其他数据库
