数据库基础:触发器问题,我想在gxZsbd表发生插入更新删除时触发一个存储过程aaa,该如何操作呢?
我在设计a表的时候,设计触发器
CREATE TRIGGER [tr_Zsbd] ON [dbo].[gxZsbd]
FOR INSERT, UPDATE, DELETE
AS
exec stroredproc aaa
但是我向gxZsbd插入数据或者更改数据的时候
存储过程并没有执行阿,是不是在什么地方还要用语句调用这个触发器么?
问题点数:0、回复次数:7Top
1 楼558047(三个代表万睡!八荣八耻万睡!)回复于 2004-09-04 15:35:38 得分 0
更正:我在设计gxZsbd表的时候,设计触发器Top
2 楼558047(三个代表万睡!八荣八耻万睡!)回复于 2004-09-04 15:57:33 得分 0
触发器更改了一下
CREATE TRIGGER [tr_Zsbd] ON [dbo].[gxZsbd]
FOR INSERT, UPDATE, DELETE
AS
exec aaa
go
我要执行的存储过程是这样的
CREATE PROCEDURE aaa AS
insert into gxGdbe(GdbeId,GdbeDateB,GdbeDateE)
values(2,14,15)
GO
在查询分析器里面没问题
可是在程序里面,执行完gxZsbd的插入操作之后,
就提示出错:过程aaa没有参数,但却为该过程提供了参数
Top
3 楼558047(三个代表万睡!八荣八耻万睡!)回复于 2004-09-04 16:44:08 得分 0
我是通过程序中的如下代码实现insert_gxZsbd操作的
frmDataMdl->ZS_SchStoredProc->Close();
DataMdl->dsDbgMx->DataSet=frmDataMdl->ZS_SchStoredProc;
frmDataMdl->ZS_SchStoredProc->ProcedureName = "insert_gxZsbd";
frmDataMdl->ZS_SchStoredProc->Parameters->Clear();
frmDataMdl->ZS_SchStoredProc->Parameters->CreateParameter
("@ZsbdMhT_50",ftFloat,pdInput,16,NULL);
frmDataMdl->ZS_SchStoredProc->Parameters->ParamByName(WideString
("@ZsbdNamePart_2"))->Value =strNamePart;
frmDataMdl->ZS_SchStoredProc->ExecProc();
是Bcb代码,我估计应该是这里出了问题Top
4 楼cnrealboy(中国男人)回复于 2004-09-04 17:37:40 得分 0
你的存储过程没有参数啊!
你怎么添加了参数?Top
5 楼wakala(*白木)回复于 2004-09-05 16:48:28 得分 0
upTop
6 楼558047(三个代表万睡!八荣八耻万睡!)回复于 2004-09-06 08:38:10 得分 0
http://community.csdn.net/Expert/topic/3340/3340192.xml?temp=.234112
数据库专区里面的讨论Top
7 楼558047(三个代表万睡!八荣八耻万睡!)回复于 2004-09-06 08:39:08 得分 0
补充一下:
如果用别的表作测试,就一切正常,单单是用这个表gxZsbd作触发器就出错Top




