zoukankan      html  css  js  c++  java
  • SLQ SERVER 2005调试方法 包括TSQL文、存储过程和触发器

      SLQ SERVER 2005调试方法 包括T-SQL文、存储过程和触发器

      注:本文所讲的调试方法是针对SQL SERVER 2005。

      一 T-SQL调试

      有两种:一是在SQLSERVER MANAGE STUDIO(简称SSMS,或者叫MS SQL客户端)中使用print来查看结果;二是在VS2005或VS2008中调试,这种调试办法见下文。

      在SSMS中调试办法示例:

      新建查询过程,然后输入:

      declare @a nvarchar(100)

      select @a = user_name from tb_user where user_id = 5

      print @a

      二 存储过程和触发器调试

      SQL SERVER 2000是可以在SSMS中单步调试的,但 SQL SERVER 2005 将这一功能从MS SQL 客户端工具SSMS中移除到了VS(VS2005版本以上的应该都具备存储过程调试功能,如果不具备,需要打补丁)中,废话少说,一下举例说明使用VS调试SQL SERVER 2005存储过程的方法:

      (注:以下这段文字来自http://hi.baidu.com/tease/blog/item/738f053398e9fffd1b4cffc5.html)

      打开VS2005,选择工具、再选择“连接到数据库”。选择正确的数据库名和表名,填入正确的登陆信息就可以了,如图:


      在"服务器资源管理“就可以看到写在数据库中的存储过程和触发器代码了,右击相应的存储过程,便可以看见”单步执行调试“的

    字样如图所示:如果这段存储过程可以触发”触发器“中代码,那么触发器的代码也是可以调试的。


      我来举个例子调试一下。
      1、在数据中建立一个表AllMoney
      列 ID   类型 INT ,该字段为自增字段,每插入一条数据就增加一个。
      列 MyMoney 类型 Money

      2、在数据中建立一个表LastID
      列 ALLMoneyID 类型为INT,该字段将通过触发起自动更新值,当表AllMoney每插入一列的时候,这个字段就自动更新为AllMoney中的最大ID值。

      3、建立存储过程给AllMoney添加数据:
      SET ANSI_NULLS ON
      GO
      SET QUOTED_IDENTIFIER ON
      GO
      CREATE PROCEDURE SP_InsertMoney
          @MyMoney AS MONEY
      AS
      BEGIN
          SET NOCOUNT ON;
          INSERT INTO AllMoney(MyMoney) VALUES(@MyMoney)
      END
      GO

      4、在表AllMoney中建立触发器,更新表LastID
      SET ANSI_NULLS ON
      GO
      SET QUOTED_IDENTIFIER ON
      GO
      CREATE TRIGGER INSERT_LastID
         ON AllMoney
         AFTER INSERT
      AS
      BEGIN
          SET NOCOUNT ON
          DECLARE @ID AS INT
          SELECT @ID = MAX(ID) FROM AllMoney 
          UPDATE LastID SET AllMoneyID=@ID
      END
      GO

      当上面两个添加好后,然后再VS中来调试。


      首先打开触发器代码。并设置断点(也可以不打,调试将从起始处开始):

      然后选择存储过程,点击右键选择单步调试存储过程。
      在弹出的对话框填入正确的参数:


      这是就可以按F10进行过程调试,或者按F11进行单步调试来进行调试了,当数据插入成功后,就会触发”触发器“代码,前面我们在

    触发器中设置断点就会断下来了,如图:

      还可以看见变量的值,或者将鼠标悬浮于变量上,也可以看到变量值。

  • 相关阅读:
    virtualbox使用相关问题
    mac os中的一些快捷键使用及基础软件安装
    U盘安装CentOS7
    Netbeans8下 Weblogic EJB案例
    Linux Weblogic 数据源 TimesTen配置
    JDBC操作TimesTen
    Red Hat TimesTen安装记录
    使用Protractor进行AngularJS e2e测试案例
    基于Karma和Jasmine的AngularJS测试
    protractor protractor.conf.js [launcher] Process exited with error code 1 undefined:1190
  • 原文地址:https://www.cnblogs.com/pricks/p/1703580.html
Copyright © 2011-2022 走看看