消息关闭
    暂无新消息!
这两天被SQL触发器搞得好晕,

课程设计的队友要求我做几个增删改的触发器,他说要在JAVA上的添加按钮,删除按钮,和修改按钮上使用。

然后我就补了一下触发器的相关知识,现在我总结到触发器是这样的,不知道对不对,错的话帮我指正一下。
我的总结:用图形化界面新建三个触发器,命名分别是Dinsert、Dupdate、Ddelete。三个触发器里面的代码分别是执行插入,删除和修改的代码。当在JAVA执行了insert、或者update、或者delete的相关sql语句时,就会触发相应的触发器,触发其执行之后就会执行触发器里面的代码。例如JAVA里面执行了insert语句要插入数据,会不会可以触发Dinsert触发器去把数据插入到表中。

说完了总结,不知道对错,请各位指正。

然后我想说说我的问题,
有一个表Contacts,我要给它做三个触发器,插入触发器Dinsert、修改触发器Dupdate、删除触发器Ddelet,
Contacts里有7列,name、phoneNumber、sex、arry、birthday、email、qq。
当JAVA实现的用户界面按下插入按钮时,就会执行insert的这些SQL语句,然后触发Dinsert,让我爆炸的就是触发器怎么写啊,
而且我不知道右键数据库新建查询写CREATE TRIGGER还是在表Contacts的下面触发器哪里右键新建触发器来写触发器里面的代码,

各位能帮我写一下这几个触发器给我看一下吗?

谢谢各位能够看完,请各位帮我解决一下我的疑惑呗,感谢万分。

5个回答

︿ 1
这是我写的一个Dinsert触发器,不知道行不行,帮我看一下??而且不知道有没有语法错误咧,



create trigger Dinsert on Contacts
After insert
as
begin
if(name!=NULL)
then
print '插入数据失败'
else
insert into Contacts(name,phoneNumber,sex,arry,birthday,email,qq)
select Contacts from inserted
end




︿ 1
对了,Contacts表里面name 是不能为空的,其他都可以为空,birthday是time类型的
︿ 0
给出你的表结构,测试数据,和你的预期结果。

另外,有按钮了,为什么还要用触发器,直接操作不就行了吗?