乐哈哈yoyo 发表于 2017-6-15 09:58:11

存储过程测试

线上项目运行过程中,通常会有些bug,是直接修改数据库的存储过程就可以解决,类似这种情况,实际工作中会在真实环境执行存储过程之前,进行存储过程的测试,用到的方法如下:
环境VS2013+SQL Server2012

数据库中存在存储过程(简单例子):
-===========================================================================    --- Author:   shilinjie    -- ALTER date:20170313    -- Descaption:该存储过程用于通过id获取详情    -- ===========================================================================    ALTER proc .      @ID int    AS    BEGIN      select * from tb_A where pid=@ID    END    --EXEC '1'测试步骤打开VS2013,打开SQL Server对象资源管理器,如下图:

   
https://testerhome.com/uploads/photo/2017/053fb4c0195fab06c2bbb5929dda99c2.jpg%21large


添加SQL Server:


https://testerhome.com/uploads/photo/2017/07fdda24a5b254916d3e8dad1aef058a.jpg%21large


填写连接数据库的用户名密码:


https://testerhome.com/uploads/photo/2017/7317dc4f46e2a3f19d94d7afafd476e1.jpg%21large


找到需要测试的存储过程,右键选择调试:


https://testerhome.com/uploads/photo/2017/18253904152d0ddcda17384f20491a94.jpg%21large


此时会弹出输入参数,本例中的存储过程只有一个参数id:


https://testerhome.com/uploads/photo/2017/e6577457b393a92ce9263c21ee0bc801.jpg%21large


之后会进入调试状态,F11进行单步调试即可,鼠标指向参数,查看传入参数的值:


https://testerhome.com/uploads/photo/2017/f75471b4967d13a6aff81f7889829da1.jpg%21large


执行之后,会显示结果和返回值:


https://testerhome.com/uploads/photo/2017/5bb495d0e82e9322a5ab87d5bcfc4659.jpg%21large


这只是个简单例子,测试过程中需要针对每个传入参数进行测试,如果存储过程中有分支,每个分支也都需要测试。
可能遇到的问题问题:在启动sql server中,启动调试时报错:无法启动 transact-sql调试器

https://testerhome.com/uploads/photo/2017/96076d5855900317a9931b49a8dc6063.jpg%21large


解决方法:
将 Windows 登录帐户添加为 sysadmin,在sql server中执行:
<span class="n">exec</span> <span class="n">sp_addsrvrolemember</span> <span class="err">'</span><span class="n">PC</span><span class="o">-</span><span class="n">name</span><span class="err">\</span><span class="n">Administrator</span><span class="err">'</span><span class="o">,</span> <span class="err">'</span><span class="n">sysadmin</span><span class="err">'</span>

草帽路飞UU 发表于 2017-6-15 10:24:50

学习

乐哈哈yoyo 发表于 2017-6-15 10:25:41

草帽路飞UU 发表于 2017-6-15 10:24
学习

:)
页: [1]
查看完整版本: 存储过程测试