去哪找下载网
纵达娱乐真的假的 > 软件教程 > 编程开发 > 存储过程如何调试,SQL调试存储过程方法

存储过程如何调试,SQL调试存储过程方法

作者:佚名 来源:去哪找下载网 2018-07-19 17:49:42

服务器不建议开启调试功能,很消耗性能的,服务器上调试建议就用print来调试,自己本机的数据库可以随便调试,存储过程 (Stored Procedure) 是在大型数据库系统中 , 一组为了完成特定功能的 SQL 语句集 , 存储在数据库中 , 经过第一次编译后再次调用不需要再次编译 , 用户通过指定存储过程的名字并给出参数 (如果该存储过程带有参数) 来执行它 , 存储过程是数据库中的一个重要对象 ; 存储过程中可以包含 逻辑控制语句 和 数据操纵语句 , 它可以接受参数 , 输出参数 , 返回单个或多个结果集以及返回值 ;

纵达娱乐真的假的 www.3vhie.com.cn 最近在做vb项目的时候,用到了存储过程的调试,现在总结一下发现单步调试存储过程有以下2种方法:

1.这种方法自己已经做过,是可以的,如下:

  a.如果目标数据库存在存储过程,右击该存储过程-修改,打开存储过程,并在需要的地方设置断点。(如果没有自定义存储过程,则需要在Sql Server 2012数据库中创建存储过程,完成后在里面设置断点);

  b.另外开启一个新建查询窗口,写入调用代码:例如   exec BillManageInputProc '主单1','0111111','0111112','121','legend','2014-09-24','001','2014-09-24','1','市场部','0' ,单击 调试按钮 启动存储过程的调试;

  c.单击 F 11 进行逐句调试。

2.在vs2010调试存储过程步骤如下:

首先,打开vs,点击 视图-->服务器资源管理器

选择数据连接,单击右键,点击添加连接

选择存储过程所在的服务器和数据库

选择要调试的存储过程,单击右键,选择单步调试

vs会要求输入参数值

然后进入单步调试,进入单步调试后就像调试C#或vb.net代码一样,可以监控变量值,而且如果执行的过程中涉及到触发器,还会跳入到触发器里,执行触发器代码

监控变量:

至此,就可以像调试应用程序一样调试存储过程了。

三、调试T-SQL语句:

1.Debug普通T-SQL语句:

SQL代码如下:

  1. use northwind  
  2. go  
  3. declare @i int ,@j int,@k int 
  4.  set @i = 1;  
  5.  set @j = 2;  
  6.  set @[email protected] + @j  
  7.  select @i;  
  8.  go 

非常简单的定义了 三个int 型变量:i、j、k并且对这些变量进行简单的逻辑运算,在Management Studio 中只要轻松的按F11键,即可调试以上代码块。

接着点击F11逐语句debug 或者F10逐过程调试代码。

 

这个dubug的场面您是否觉得已经和VS相差无几了呢?

四、支持复杂存储过程嵌套debug:

您可能会疑问,在一个庞大的系统中,如果数据库逻辑绝大部分都是存储过程实现的情况下,会出现存储过程嵌套存储过程或者嵌套存储函数这样的代码。

SQL2008是否支持调试功能呢?答案是肯定的。

首先定义一个简单的存储过程(本文使用NorthWind数据库)代码如下:

  1. CREATE procedure sp_getOrders   
  2.  @orderID int = null   
  3.  as   
  4. if (@orderID is null )   
  5.  begin  
  6.  print 'null'   
  7.  end   
  8. else   
  9. begin 
  10. print 'correct' 
  11.  end 
  12.  select * from Orders whereOrderID = @orderID  
  13. go 

该存储过程在以下批处理内被调用,代码如下:

  1. declare @i int ,@j int,@k int   
  2. set @i = 1;  
  3. set @j = 2;  
  4. select @[email protected] + @j  
  5. exec sp_getOrders 10248  
  6.  select @i;  
  7. go 

F11对以上代码进行SQL Debug。

当断点经过exec sp_getOrders 10248 这段代码时,点击F11进入sp_getOrders存储过程进行逐语句debug。

这样可以在嵌套的存储过程或函数内进行debug了,此刻不得不承认: 升级后的SQL2008越来越强大。您还恐惧使用或者调试存储过程么?

网友评论
  • 热门软件
  • 热门标签
返回顶部
  • 瑞典队盘外招 真的奏效吗? 2018-12-12
  • 藏族作家阿来的“等待” 2018-12-12
  • 鼓励更多社会主体投身创新创业 2018-12-11
  • 新疆阿拉山口口岸严防有害生物入境 2018-12-10
  • 怎么还不见笑博士的正面回答呀?你或你老婆的“私房钱”,可是不能算着按劳分配的哟。按需分配、按劳分配,都是光明正大的原则哟!说说你的“按劳分配”嘛,而且你的这个“ 2018-12-10
  • 端午节重庆小朋友齐手为大象制作超级大粽 2018-12-09
  • 生活妙招 自制“椰子油”牙膏 清除细菌更有效-生活资讯 2018-12-08
  • 2018全国两会大型融媒体专题 2018-12-08
  • (Dos sesiones) El pueblo es el creador de la historia y el verdadero héroe, dice presidente chino Spanish.xinhuanet.com 2018-12-07
  • 金融战,贸易战,是看不见硝烟的战争,但代价同样是惨烈的。面对强敌,奉陪到底,打好这场事关国运之战。 2018-12-07
  • 爱吃酸的人,可能更敢冒险 2018-12-06
  • 国债期货再度逼近反弹新高 2018-12-06
  • 砥砺七载 兰州马拉松赛“跑出”阳光新兰州 2018-12-05
  • 每个具体事物的本质联系即规律都是普遍规律的特殊表现47 2018-12-04
  • 哈里王子大婚,王妃最爱的是Givenchy? 2018-12-04
  • 450| 825| 893| 719| 604| 716| 117| 35| 95| 791|