您当前的位置:首页 > 美文欣赏 > 内容

什么是存储过程?sqlserver存储过程怎么调试

本文目录

  • 什么是存储过程
  • sqlserver存储过程怎么调试
  • PLSQL如何调试存储过程
  • 存储过程是什么意思
  • 如何调试存储过程
  • ORACLE 存储过程是什么 它的用处,好处是什么概念性的东西多点
  • 如何oracle调试存储过程
  • 存储过程是什么谁能给我详细解答
  • 如何查看oracle的存储过程
  • oracle的存储过程怎么调试

什么是存储过程

sql语句执行的时候要先编译,然后执行。存储过程就是编译好了的一些sql语句。用的时候直接就可以用了。所以效率会高一 存储过程介绍 存储过程是由流控制和SQL语句书写的过程,这个过程经编译和优化 后存储在数据库服务器中,使用时只要调用即可。在ORACLE中,若干个 有联系的过程可以组合在一起构成程序包。 使用存储过程有以下的优点: * 存储过程的能力大大增强了SQL语言的功能和灵活性。存储过程可 以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的 运算。 * 可保证数据的安全性和完整性。 # 通过存储过程可以使没有权限的用户在控制之下间接地存取数据 库,从而保证数据的安全。 # 通过存储过程可以使相关的动作在一起发生,从而可以维护数据 库的完整性。 * 再运行存储过程前,数据库已对其进行了语法和句法分析,并给出 了优化执行方案。这种已经编译好的过程可极大地改善SQL语句的性能。 由于执行SQL语句的大部分工作已经完成,所以存储过程能以极快的速度执 行。 * 可以降低网络的通信量。 * 使体现企业规则的运算程序放入数据库服务器中,以便: # 集中控制。 # 当企业规则发生变化时在服务器中改变存储过程即可,无须修改 任何应用程序。企业规则的特点是要经常变化,如果把体现企业规则的运 算程序放入应用程序中,则当企业规则发生变化时,就需要修改应用程序 工作量非常之大(修改、发行和安装应用程序)。如果把体现企业规则的 运算放入存储过程中,则当企业规则发生变化时,只要修改存储过程就可 以了,应用程序无须任何变化。 不同数据库存储过程的写法不一,在后面的讲座中将分别介绍ORACLE 和SYBASE存储过程的用法。 二 ORACLE 的存储过程 ORACLE 创建存储过程的语法为: create [or replace] procedure 过程名 参数1 [in|out|in out] 数据类型 [,参数2 [in|out|in out] 数据类型]... pl/sql 语句 下面举例说明ORACLE数据库存储过程的写法和用法。 可以建立一个存储过程,每当用户修改数据库的重要数据时,即把 用户的用户名、掌诤筒僮骼嘈图锹枷吕矗?nbsp; create procedure update_log is begin insert into update_log_tab(use_name,update_date,operation) values(user,sysdate,’update’ end; 可以在恰当的位置调用这个存储过程来记录用户对表的修改。例如下面在 表sal_comm上建立一个修改触发器,每当用户修改此表后,用户的名称、修改 时间和操作即被记录在了表update_log_tab中: create trigger audit_update after update on sal_comm for each row begin update_log end --三 Sybase的存储过程 尽管Sybase存储过程的功能和写法与ORACLE类似,但他们之间还是 有一定的差别。下面讲述SYBASE的存储过程。 SYBASE可以用CREATE PROCedure命令生成存储过程: CREATE PROCedure 存储过程名 [;number] [[(] @parameter_name datatype [=default] [OUTput] [, @parameter_name datatype [=default] [OUTput]]...[)]] [WITH RECOMPILE] AS SQL_statements 下面是一个查询作者编码、名称和生日的存储过程: create proc p_auths @author_code varchar(10) as select author_code, name, birthdate from auths where author_code=@author_code 下面执行过程p_auths: p_auths @author_code=A00001 在CREATE PROC语句中,可以为参数赋缺省值,该值可以是任何常量。 当用户不提供参数值时,该值便作为参数值提供给过程。

sqlserver存储过程怎么调试

最近在做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,点击 视图--》服务器资源管理器http://www.cnblogs.com/caishiquan/p/4050237.html

PLSQL如何调试存储过程

在PL/SQL Developer中调用存储过程的步骤如下:

1、首先,建立一个操作表,当然也可以用用户界面去创建表。

2、导入部分数据,在命令窗口使用sql代码或者用可视化界面。

3、打开命令窗口,可以看见数据库正常运行,若是出现问题,请仔细查询是否有操作失误。

4、在编辑区内编写存储过程,并将其复制、粘贴到“对话框”。

5、粘贴到对话框后,在最后一行输入’/’,此时如果出现编译错误,如图所示,使用show errors命令显示错误,根据错误提示所在的行、列区查找并改正错误。

6、在编辑区修改错误后,重新编译(不需要删除原来的过程,因为在创建时用了or replace命令),若是还有错误,重复上步骤,知道编译成功。

7、存储过程创建成功后,接下来就是调用了,使用exec或者call命令调用存储过程,若显示执行成功,但是没有打印结果,输入set setverout on命令,再次调用存储过程,如图显示,过程成功执行,输出结果。

存储过程是什么意思

存储过程(stored procedure)是一组预先编译好的transcat-sql代码,由于是已经编译好的代码,所以执行的时候不必再次进行编译,从而提高了程序的运行效率.存储过程跟函数不同,存储过程不能在被调用的位置上返回数据,也不能被应用在语句当中.但是存储过程可以使用变量的形式来返回参数.存储过程具有执行速度快、模块化的程序设计、减少网络通信量、保证系统安全性等优点。使用存储过程的好处很大,存储过程比在ASP脚本中运行SQL命令效率更高;可以提高整体性能并减轻网络负载(减少了在网络服务器和数据服务器之间的交互);可以优化ASP代码和增强代码灵活性等等。

如何调试存储过程

与其他编程语言中的调试一样,您可以在调试 Transact-SQL 脚本的同时查看和修改局部变量和参数、查看全局变量以及控制和管理断点。本示例说明如何通过单步执行创建和调试 Transact-SQL 存储过程。 警告: 以下过程将使用在连接的数据库开发和面向项目的脱机数据库开发这两节中的过程中创建的实体。调试存储过程在“解决方案资源管理器”中,右键单击 TradeDev 项目,选择“添加”,然后选择“存储过程”。将这个新的存储过程命名为 AddProduct,然后单击“添加”。将以下代码粘贴到该存储过程中。 CREATE PROCEDURE [dbo].[AddProduct] @id int, @name nvarchar(128) AS INSERT INTO [dbo].[Product] (Id, Name) VALUES (@id, @name) 按F5 生成和部署该项目。在SQL Server 对象资源管理器的“本地”节点下,右键单击 TradeDev 数据库,然后选择“新建查询”。将下面的代码粘贴到查询窗口中。 EXEC [dbo].[AddProduct] 50, N’Contoso’; GO 单击左窗口边距以便向 EXEC 语句添加断点。按下Transact-SQL 编辑器工具栏中的绿色箭头按钮上的下拉箭头,然后选择“使用调试器执行”,以便使用调试执行查询。或者,也可以从SQL Server 对象资源管理器启动调试功能。右键单击 AddProduct 存储过程(位于 Local -》 TradeDev database -》 Programmability -》 Stored Procedures 下)。选择“调试过程...”。如果对象需要参数,则会出现“调试过程”对话框,显示一个包含各个参数行的表。表中的每一行都包含参数名称列和参数值列。输入各个参数的值,再单击“确定”。请确保“本地”窗口打开。如果未打开,则单击“调试”菜单,选择“窗口”和“本地”。按F11 键逐行执行该查询。请注意,存储过程参数和它们各自的值将显示在“本地”窗口中。或者,将鼠标指针悬停在 INSERT 子句中的 @name 参数上方,您将看到要传递给它的 Contoso 值。在文本框中单击 Contoso。键入 Fabrikam,然后按下 ENTER 以便在调试时更改 name 变量的值。还可以在“本地”窗口中更改其值。请注意,该参数的值现在显示为红色,表示它已经更改。按F10 键逐行执行其余代码。在SQL Server 对象资源管理器中,刷新 TradeDev 数据库节点以查看 Product 表的数据视图中的新内容。在SQL Server 对象资源管理器中的“本地”节点下,找到 TradeDev 数据库的 Product 表。右键单击 Product 表,然后选择“查看数据”。请注意,新行已添加到该数据库中。

ORACLE 存储过程是什么 它的用处,好处是什么概念性的东西多点

定义:存储过程(Stored Procedure )是一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。 存储过程是由流控制和SQL 语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,应用程序使用时只要调用即可。在ORACLE 中,若干个有联系的过程可以组合在一起构成程序包。优点: 1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。 2.当对数据库进行复杂操作时(如对多个表进行Update、Insert、Query、Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。 3.存储过程可以重复使用,可减少数据库开发人员的工作量。 4.安全性高,可设定只有某用户才具有对指定存储过程的使用权。简单说,你在你的机器上写了个存储过程,这个存储过程像那些表里的数据一样被放在遥远的数据库服务器当中,但是它又是可执行的代码,其他能连到数据库服务器的用户,可以调用你写的存储过程它的作用是隐藏细节,就是说,你写的存储过程代码可能很复杂,但是其他人调用它却很简单,不用具体知道它是如何做的,且一次能完成多个指令 oracle有系统存储过程和自定义存储过程2种存储过程。系统存储过程就是由oracle预先提供的一组完成特定功能的存储过程,安装完oracle就有了。自定义存储过程就是存在oracle数据库里由一组plsql语句组成的自定义过程(procedure)。它可以供其它oracle自定义存储过程、自定义函数和job调用或者由客户端程序调用。

如何oracle调试存储过程

1.打开PL/SQL Developer 如果在机器上安装了PL/SQL Developer的话,打开PL/SQL Developer界面 输入用户名,密码和host名字,这个跟在程序中web.config中配置的完全相同,点击确定 找到需要调试的存储过程所在的包(Package bodies),如PACK_ACTIVITY,点击右键,在弹出菜单中选择[查看],得到包中的所有存储过程和他们的代码. 2.添加debug信息 为了能够单步跟踪存储过程,需要为其所在的包添加debug信息,右键点击需要调试的包,在弹出菜单中选中[添加调试信息]. 这样就为包体添加了调试信息。 3.调试存储过程 现在所有的准备工作都做好了,可以调试跟踪存储过程了。 选择需要调试的存储过程,点击右键,在弹出菜单中选择[测试],进去测试窗口. 测试窗口中有为了测试该存储过程自动所产生的代码,当然你也可以自己另外加入和修改代码,对于我们目前只是为了调试存储过程,自动生成的代码已经足够了。接着按照如下的步骤进行调试。 (1)添加存储过程所需要的参数,我们项目中的大多数存储过程都是需要参数的,参数可以在测试窗口右下部分输入。 如:GetPanNO_New需要一个输入参数v_employeeid,我们输入180,输出参数是mycursor,是查看结果的,不需要输入任何值。 (2)开始调试,点击[调试]菜单-[开始](或者按F9),就进去调试模式了,程序开始停在begin这一行. (3)以后的调试过程跟我们熟悉的的调试过程就一样了: 运行(Ctrl+R) 单步进入(Ctrl+N) 单步跳过(Ctrl+O) 单步退出(Ctrl+T) 或者点击debug工具条上的按扭: 当按Ctrl+N进去存储过程的源代码中后 在这个窗口中可以查看过程中的变量值和堆栈。 (4)调试运行完了后,可以查看结果如下(点击mycursor变量旁边的按钮).

存储过程是什么谁能给我详细解答

存储过程可以理解为存储在数据库中的,具有某种特定功能的一段程序,其中包括一条或者多条SQL语句。一旦编译成功就可以存储在数据库中并可以随时调用。为什么要使用存储过程,因为它能比普通的SQL完成更复杂的功能。例如,更新某张表张的一列,这样的功能用SQL语句就能实现。但是,如果要判断A表的一字段某一记录,如果为真查询则出B表的记录,然后把AB联合的结果插入C表中,这样稍微复杂的过程就要通过存储过程来实现。

如何查看oracle的存储过程

使用tode或者Navicat 或者navigtor等连接oracle的工具找到procedure的选项即可查看所有的存储过程,点击某个名字可以看到其中的定义

oracle的存储过程怎么调试

方法/步骤

  • 首先在PL/SQL的左侧资源栏中展开Procedures项(图中位置1),然后再其上面的搜索框中(图中位置2)输入存过名称的关键词,按回车键搜索要调试的存过,不停的回车,直到找到想要调试的存过。

  • 找到想要调试的存过,左键单击选中该存过(图中位置1),然后右键单击该存过,从弹出菜单中选择“Test”项(图中位置2)。

  • 单击“Test”后,PL\SQL会打开调试界面,图中位置1的按钮就是开始调试的按钮,在调试之前要填写存过的参数,位置2就是填写参数的地方,如果有多个参数,会有多行参数框,按参数名填写相应的参数即可。

  • 填写完参数,单击开始调试按钮后,调试的界面会发生一些变化。图中位置1的变化,说明存过已经处于执行状态,别人不能再编译或者执行。位置2的按钮就是执行按钮,单击这个按钮存过会执行完成或者遇到bug跳出,否则是不会停下来的,调试时不会用这个按钮的。位置3的按钮才是关键——单步执行,就是让代码一行一行的执行,位置4的按钮是跳出单步执行,等待下一个指令。

  • 单击“单步执行”,存过开始单步执行。界面中每一次执行的代码会高亮显示(图中位置1),如果想要看某个变量具体的值,就在位置2的地方输入该变量名,然后变量的值会显示在位置3的地方。

  • 调试的时候,每一次单步执行的时候要记一下执行代码的行数,图中位置3的数字就是当前执行代码的行数,就是第几行。如果过程单步执行到某行后,再单步执行的时候,存过就退出,那么错误就在该行的下一行。

  • 代码执行到24行,在往下执行时,直接转到exception的地方,也就是异常处理的部分。

  • 这说明我们代码中的错误在24和25行上,我们打开存过,浏览到24行和25行附近,发现25行和24行使用了两个变量,记住那两个变量。重新开始调试过程。

  • 单步的执行时候把刚才那两个变量名填写到变量查看框,一边观察变量值变化,一边单步执行,执行到24行的时候,发现一个变量已经有值了,而另一个变量的值为null。错误原因明朗了吧?就是变量没有赋值或者初始话,给该变量赋值后存过就不报错了。


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 分家协议书,农村俩兄弟宅基地分家协议书(是要经过公证才具有法律效力吗)

下一篇: 枇杷酱怎么熬制,枇杷果酱的制作方法和教程(大人、小孩都喜欢吃)



推荐阅读

网站内容来自网络,如有侵权请联系我们,立即删除! | 软文发布 | 粤ICP备2021106084号