sqlserver 触发器问题
我想做一个触发器,但修改表T的字段C1时,判断如果修改后的值为-1,则更新表T该行记录的字段C2为某值。
CreateTRIGGER [Tri_UpdateLastSaveDate] ON [dbo].[T]
for UPDATE
AS
BEGIN
if update(C1)
begin
if inserted.C1='-1'
begin
update T set C2=convert(varchar,getdate(),21)
where C3=(select C3 from inserted);
end
end
END
可是执行的时候总是报错:
No row was updated.
Error Source:Microsoft.VisualStudio.DataTools.
Error Message: The row value(s) updated or deleted either do not make the row unique or they alter multiple rows(2 rows)
表T没有主键,且C3字段实际是唯一值
我把update这句话去掉,新建了一个表AA,包含字段c1、c2,也没有主键。
替换成update AA set AA.C1='99' from AA,Inserted
where AA.C1=Inserted.C1
可是还是提示这样的错误。
请帮忙解决,着急。谢谢。
SQL code:
CreateTRIGGER [Tri_UpdateLastSaveDate] ON [dbo].[T]
for UPDATE
AS
BEGIN
if update(C1)
begin
update T set C2=convert(varchar,getdate(),21)
from T,inserted i
where T.C3=i.C3
and i.C1='-1';
end
END
SQL code
Code highlighting produced by Actipro CodeHighlighter (freeware
相关问答:
代码:
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con= DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost: ......
写了一个用C语言操作sqlserver数据库的程序,在我自己的计算机上运行没问题。但到另一台机器上运行时,SQLConnect函数连接数据库失败,仔细检查设置都没有发现问题,但该机器的操作系统是Windows Server 2003 Enterp ......
如题
只有100分给了。。。
哪个行业?
我想网上的源码肯定不能完全满足个人想法
最后还得自己整
推荐一款自助建站软件:风讯
C#+SQL
可以设计出比较灵活的网站
什么行业啊....
到51aspx.co ......
比如 用户名,我程序的要求是10位字符以内,所以:
如果我sqlserver从varchar(50)存储改为用varchar(10)的话,
1.会不会减少数据空间?
2.会不会提高我程序的效率?
3.有没有必要?
小弟先谢 ......