create table atv ( modid int, chno int , jmno int , moddate date , primary key (modid) );
create trigger update_modify_date before insert on atv BEGIN update atv set new.moddate = date('now') ; END ;
运行后出现:
SQL error near line XX,no such column:new.moddate
其中 update atv set new.moddate = date('now') ;
我写成 "new.moddate"还是'new.moddate' 都不能正确执行。 求高人指点。
测试一夜,解决了。
create trigger update_modify_date after insert on atv BEGIN update atv set moddate = date('now') where chno = new.chno ; END ;
可是我还有问题, 如何让用触发器使modid自动增长, 我用了下面的语法, create trigger add_id before insert on atv begin update atv set modid = max(modid) +1 ; end; 运行 sqlite> insert into atv (jmno ,chno ) values (767,68); 出现。 SQL error: misuse of aggregate function max() sqlite> 更改中。, 原来是for each row 这句话的问题。指定 for each row .后。就不再报错了。 create trigger update_modify_date before insert on atvfor each row BEGIN update atv set new.moddate = date('now') ; END ; it worked.
在使用 SQL Server 时,连接故障是用户最常见的问题之一。通常,连接 SQL Server 的方法有两种:一种是通过 SQL Server 自带的客户端工具,例如 SQL Server Management Studio;另一种是通过第三方应用程序或开发工具进行连接。本文将详细分析导致连接故障的常见原因,并提供相应的解决策略,帮助用户有效排除连接问题。 ...
[详细]