⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 12701.htm

📁 一本很基础的SQL讲解
💻 HTM
字号:
<link href="./dzs_cs.css" rel="stylesheet" type="text/css" /><table width="96%" border="0" align="center" cellpadding="0" cellspacing="0">      <tr>        <td>&nbsp;</td>      </tr>      <tr>        <td height="24" align="center" valign="bottom" class="d_font3">使用SQL服务器内置的错误寻找器寻找和剖析错误</td>      </tr>      <tr>        <td height="3" bgcolor="#E3E3E3"></td>      </tr>      <tr>        <td>&nbsp;</td>      </tr>      <tr>        <td class="d_font4">大多数开发人员都自豪地宣称他们编写的代码是没有错误的,但是实际上我们都知道错误,不论是逻辑上的还是物理上的,都会发生在最好的项目里。也就是说,软件开发过程中最耗时间的任务之一就是调试。我们都曾经追踪过难以琢磨的错误,因此,大多数开发工具包都会包括调试工具,用以帮助查找错误。非常感谢微软从6.5版开始就向SQL服务器环境里加入了这样一个工具。让我们更加仔细地看看这个顺手的工具,看在日常编程的工作中如何使用它。<BR>
<P></P><B>它在哪儿?<BR></B>
<P>SQL的“服务器调试界面”(SDI)能够从“查询分析器”客户端进入。找到“查询分析器对象浏览器”里的存储过程,见<B>图</B><B>A</B>,再右击要操作的过程名称,会弹出一个菜单,菜单上有“调试”选项。在你能够使用SDI以前,SQL服务器管理员必须给你足够的访问权限,所以要查一查确保你有这个权限。</P>
<P align=center>图A</P>
<P align=center><A href="/files/uploadimg/20051130/1727580.png" target=_blank><IMG height=387 src="/files/uploadimg/20051130/1727580.png" width=462 border=0></A></P>
<P align=center>查询分析器”提供了存储过程“调试”选项</P>
<P align=center>调试界面</P>
<P>一旦选择了“调试”选项,<B>图</B><B>B</B>里的对话框会出现。它能让你为存储过程提供任何所需要的参数。一旦输入了参数,点击OK按纽开始调试过程。</P>
<P align=center>图B</P>
<P align=center><IMG height=286 src="/files/uploadimg/20051130/1727581.gif" width=407></P>
<DIV align=center>你可以为调试过程输入存储过程的参数</DIV>
<P>为了说明问题,我选择了位于Northwind数据库里的SalesByCategory存储过程。我加入了图B(@CategoryName=Beverages和@OrdYear=1996)里的参数就开始进行调试了。你一次只能进行一个调试过程。<B>图</B><B>C</B>是允许你使用代码的调试窗。</P>
<P align=center>图C</P>
<P align=center><A href="/files/uploadimg/20051130/1727582.gif" target=_blank><IMG height=420 src="/files/uploadimg/20051130/1727582.gif" width=492 border=0></A></P>
<DIV align=center>调试界面</DIV>
<P align=left>这个调试窗口一共有五个面板。最大的显示框是主代码面板;它显示着当前正在执行的存储过程的代码,还包含有大量控制按钮(我会在后面谈到它们)。紧挨在主显示框下面最左边的面板包含有局部变量,包括传递给过程的参数和代码里声明的变量。中间的面板包含有全局变量,右边的面板是调用栈,其中包含有执行过程的列表。如果某个过程调用另一个过程,这个调用栈就会扩展。最底部的面板显示着正在运行的过程的输出结果,不论是错误的结果还是所预期的结果。注意,图C例子里的被传递的值是在图B局部变量里输入的。</P><B>执行控制<BR></B>
<P align=left>调试器的值是在执行待考察代码时它给你提供的自由。例如,你可以在存储过程中设置断点,执行会在断点中断直到你让它继续执行。在SDI里,使用功能键(F9)和选择主代码窗上面的按钮都可以设置断点和特性。一共有十一个按钮,我把它们列在了<B>表</B><B>A</B>里。<BR></P>
<P align=left>表A</P>
<P align=left>
<TABLE cellSpacing=0 cellPadding=0 width=535 border=1>
<TBODY>
<TR>
<TD width=24>
<P><IMG height=22 src="/files/uploadimg/20051130/1727583.gif" width=23></P></TD>
<TD width=501>
<P><FONT size=2>继续执行(F5)</FONT></P></TD></TR>
<TR>
<TD>
<P><IMG height=23 src="/files/uploadimg/20051130/1727584.gif" width=23></P></TD>
<TD>
<P><FONT size=2>设置或者取消断点(F9)</FONT></P></TD></TR>
<TR>
<TD>
<P><IMG height=22 src="/files/uploadimg/20051130/1727585.gif" width=23></P></TD>
<TD>
<P><FONT size=2>去掉所有的断点(CTRL + SHIFT + F9)</FONT></P></TD></TR>
<TR>
<TD>
<P><IMG height=22 src="/files/uploadimg/20051130/1727586.gif" width=23></P></TD>
<TD>
<P><FONT size=2>进入代码,执行一行(F11)</FONT></P></TD></TR>
<TR>
<TD>
<P><IMG height=22 src="/files/uploadimg/20051130/1727587.gif" width=23></P></TD>
<TD>
<P><FONT size=2>跳过代码;执行这一行,但是不进入从函数或者另一个存储过程调用的代码(F10)</FONT></P></TD></TR>
<TR>
<TD>
<P><IMG height=22 src="/files/uploadimg/20051130/1727588.gif" width=23></P></TD>
<TD>
<P><FONT size=2>离开代码;完成函数或者存储过程代码的执行;把控制权返回给调用代码(SHIFT + F11)</FONT></P></TD></TR>
<TR>
<TD>
<P><IMG height=22 src="/files/uploadimg/20051130/1727589.gif" width=23></P></TD>
<TD>
<P><FONT size=2>跳到光标处(SHIFT + F10)</FONT></P></TD></TR>
<TR>
<TD>
<P><IMG height=22 src="/files/uploadimg/20051130/17275810.gif" width=23></P></TD>
<TD>
<P><FONT size=2>重新启动代码(SHIFT + CTRL + F5)</FONT></P></TD></TR>
<TR>
<TD>
<P><IMG height=22 src="/files/uploadimg/20051130/17275811.gif" width=23></P></TD>
<TD>
<P><FONT size=2>停止调试(SHIFT + F5)</FONT></P></TD></TR>
<TR>
<TD>
<P><IMG height=22 src="/files/uploadimg/20051130/17275812.gif" width=23></P></TD>
<TD>
<P><FONT size=2>开启/关闭自动回滚</FONT></P></TD></TR>
<TR>
<TD>
<P><IMG height=22 src="/files/uploadimg/20051130/17275813.gif" width=22></P></TD>
<TD>
<P><FONT size=2>帮助(F1)</FONT></P></TD></TR></TBODY></TABLE></P><B>SDI的调试命令<BR></B>
<P>你可以利用这些按钮的优势来帮你进行调试过程。它们能让你执行代码并查看变量的内容。此外,还可以用所需要的值对局部变量进行编辑和替换。<B>图</B><B>D</B>显示了输出面板里示例参数的结果。</P>
<P align=center>图D</P>
<P align=center><A href="/files/uploadimg/20051130/17275814.gif" target=_blank><IMG height=449 src="/files/uploadimg/20051130/17275814.gif" width=464 border=0></A></P>
<DIV align=center>存储过程的输出结果</DIV>
<P>SDI会拖累运行它的服务器的资源,所以应该严格地将其使用限制到开发或者测试环境里。你不能在调试过程中编辑代码。<BR></P><B>清理你的代码<BR></B>
<P>SQL的“服务器调试界面”是对SQL开发人员任何工具集强有力的补充。调试是必需的,不论你是在使用自己的存储过程还是跳到另一个开发人员的程序里。在你下一个项目里好好利用这个工具的优势吧。</P></td>      </tr>      <tr>        <td class="d_font4">&nbsp;</td>      </tr>    </table>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -