可否详细点我比较苯,我要是有一个表PRO_COD触发器为: REATE TRIGGER PRO_COD_INS ON dbo.pro_cod FOR INSERT ASDECLARE @NUMMIN INT DECLARE @NUMMAX INT DECLARE @NUMSUP INT DECLARE @UQI INT DECLARE @PRI DECIMAL(18,6) DECLARE @PRIuni DECIMAL(18,6) DECLARE @UQIDEP INT DECLARE @I INTSELECT @NUMSUP =(SELECT MIN(UQI) FROM PRD_COD WHERE FLA_SUP='Y') SELECT @NUMMIN=(SELECT MIN(UQI) FROM DEP_COD WHERE CAT_DEP='PER' OR CAT_DEP='UNI' OR CAT_DEP='STO') SELECT @NUMMAX=(SELECT MAX(UQI) FROM DEP_COD WHERE CAT_DEP='PER' OR CAT_DEP='UNI' OR CAT_DEP='STO') SELECT @PRI=(SELECT PRI_PER FROM INSERTED) SELECT @PRIuni=(SELECT PRI_uni FROM INSERTED) SELECT @UQI=(SELECT UQI FROM INSERTED) SELECT @I = @NUMMIN-100 WHILE @I >= @NUMMIN-100BEGINSELECT @I = @I+100 SELECT @UQIDEP=(SELECT UQI FROM DEP_COD WHERE UQI=@I) IF @I>@NUMMAX BREAK ELSEIF @UQIDEP IS NOT NULL BEGIN INSERT INTO PRO_STO VALUES (@I,@UQI,'',NULL,NULL,0,0,0,0,0,0,0,0,0,0,GETDATE(),NULL,NULL,'','',0,0,0,0,0,0,0,0,0,0,0,0,0,1,@PRI,'AAA') INSERT INTO PRO_SLL_ANA VALUES (@I,@UQI,@NUMSUP,0,0,0,0,0,0,0,0,0,0) END END我怎么在查询分析调试呢?
first, 确认你的SQL调试器能调试存储过程,然后写一个很简单的存储过程, 该过程只是简单的插入一行数据 create procedure Test_debug as insert into PRO_COD(field1,field2,...) select value1,value2,value3... 编译该存储过程, 按F8打开SQL Query的对象浏览器,找到刚才编译好的存储过程, 右键,在弹出的菜单中选择调试就OK了。
对了,查询分析器在SQL2000中是不是事件探查器?
as
insert into tablename(这个表上有你要调试的触发器)
select ......
编译该存储过程,
然后在查询分析器里面调试
REATE TRIGGER PRO_COD_INS ON dbo.pro_cod
FOR INSERT
ASDECLARE @NUMMIN INT
DECLARE @NUMMAX INT
DECLARE @NUMSUP INT
DECLARE @UQI INT
DECLARE @PRI DECIMAL(18,6)
DECLARE @PRIuni DECIMAL(18,6)
DECLARE @UQIDEP INT
DECLARE @I INTSELECT @NUMSUP =(SELECT MIN(UQI) FROM PRD_COD WHERE FLA_SUP='Y')
SELECT @NUMMIN=(SELECT MIN(UQI) FROM DEP_COD WHERE CAT_DEP='PER' OR CAT_DEP='UNI' OR CAT_DEP='STO')
SELECT @NUMMAX=(SELECT MAX(UQI) FROM DEP_COD WHERE CAT_DEP='PER' OR CAT_DEP='UNI' OR CAT_DEP='STO')
SELECT @PRI=(SELECT PRI_PER FROM INSERTED)
SELECT @PRIuni=(SELECT PRI_uni FROM INSERTED)
SELECT @UQI=(SELECT UQI FROM INSERTED)
SELECT @I = @NUMMIN-100 WHILE @I >= @NUMMIN-100BEGINSELECT @I = @I+100
SELECT @UQIDEP=(SELECT UQI FROM DEP_COD WHERE UQI=@I) IF @I>@NUMMAX BREAK ELSEIF @UQIDEP IS NOT NULL
BEGIN
INSERT INTO PRO_STO
VALUES (@I,@UQI,'',NULL,NULL,0,0,0,0,0,0,0,0,0,0,GETDATE(),NULL,NULL,'','',0,0,0,0,0,0,0,0,0,0,0,0,0,1,@PRI,'AAA') INSERT INTO PRO_SLL_ANA
VALUES (@I,@UQI,@NUMSUP,0,0,0,0,0,0,0,0,0,0)
END
END我怎么在查询分析调试呢?
确认你的SQL调试器能调试存储过程,然后写一个很简单的存储过程,
该过程只是简单的插入一行数据
create procedure Test_debug
as
insert into PRO_COD(field1,field2,...)
select value1,value2,value3...
编译该存储过程,
按F8打开SQL Query的对象浏览器,找到刚才编译好的存储过程,
右键,在弹出的菜单中选择调试就OK了。