SQLITE触发器这样创建不对吗?请问前辈

SQLITE触发器这样创建不对吗?请教前辈
本帖最后由 shier2817 于 2014-05-01 00:46:23 编辑
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 这个字段就可以了,我这里只是写个简单的做测试,谢谢!
------解决方案--------------------
参考一下
http://blog.sina.com.cn/s/blog_8c26f28301014qrm.html