调试触发嚣

zysys 2003-12-25 12:58:53
sql2k中怎么调试触发嚣,而且可以看见调试变量中的结果或内容,是不是要用一个工具,可以具体一点吗?谢谢大家了~~~
...全文
28 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
zysys 2004-01-09
  • 打赏
  • 举报
回复
谢谢~~~~~
zysys 2004-01-07
  • 打赏
  • 举报
回复
可否详细点我比较苯,我要是有一个表PRO_COD触发器为:
REATE TRIGGER PRO_COD_INS ON dbo.pro_cod
FOR INSERT
AS

DECLARE @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 INT

SELECT @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-100

BEGIN

SELECT @I = @I+100
SELECT @UQIDEP=(SELECT UQI FROM DEP_COD WHERE UQI=@I) IF @I>@NUMMAX BREAK ELSE

IF @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

我怎么在查询分析调试呢?


cqdj 2004-01-07
  • 打赏
  • 举报
回复
些一个简单的存储过程,如insert,update,delete 也就是一句话,然后你在查询分析器里面调试这个存储过程,你就可以调试你的触发器了!
icewindboy 2004-01-07
  • 打赏
  • 举报
回复
first,
确认你的SQL调试器能调试存储过程,然后写一个很简单的存储过程,
该过程只是简单的插入一行数据
create procedure Test_debug
as
insert into PRO_COD(field1,field2,...)
select value1,value2,value3...
编译该存储过程,
按F8打开SQL Query的对象浏览器,找到刚才编译好的存储过程,
右键,在弹出的菜单中选择调试就OK了。
zysys 2004-01-07
  • 打赏
  • 举报
回复
帮帮忙呀~~~`
icewindboy 2004-01-06
  • 打赏
  • 举报
回复
对你需要调试的触发器,写一个简单的存储过程,

比如 create procedure Test_Debug
as
insert into tablename(这个表上有你要调试的触发器)
select ......
编译该存储过程,
然后在查询分析器里面调试。。。
zysys 2004-01-06
  • 打赏
  • 举报
回复
谢谢我懂了,为什么没有单步调试工具呢?
thomasfu 2004-01-02
  • 打赏
  • 举报
回复
up
-狙击手- 2004-01-02
  • 打赏
  • 举报
回复
用向表中插DATA吧
solidpanther 2004-01-02
  • 打赏
  • 举报
回复
可以建立个表,把你想知道的变量的状态值插入到这个表里,比如这个表里字段为1,表名
2,触发类型;3,旧值 ;4,新值 ;5,选用何种处理(依你的判断语句种类)
6,触发执行与否标志
zysys 2004-01-02
  • 打赏
  • 举报
回复
我不是很懂SQL,可否详细点...谢谢大哥大姐
zysys 2003-12-26
  • 打赏
  • 举报
回复
真的不可以吗?要是调试触发器的话怎么办呢?
helodd 2003-12-26
  • 打赏
  • 举报
回复
你只能在你对表操时表的触发动作中调式呀。。。
erigido 2003-12-26
  • 打赏
  • 举报
回复
不是,就是查询分析器
zysys 2003-12-26
  • 打赏
  • 举报
回复
打印变量怎么打?打印到什么地方,可以具体点吗?
对了,查询分析器在SQL2000中是不是事件探查器?
DST_good 2003-12-26
  • 打赏
  • 举报
回复
在代码中用print()函数打印变量
在查询分析器中调试可看到结果
miwn 2003-12-26
  • 打赏
  • 举报
回复
查询分析器呢!?
zysys 2003-12-26
  • 打赏
  • 举报
回复
没人理嘛,是不是触发器不可以调试的呢.
caiyunxia 2003-12-25
  • 打赏
  • 举报
回复
不行
可以建立表,向表中插入数据
lynx1111 2003-12-25
  • 打赏
  • 举报
回复
up!没见过

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧