存储过程的判断语句是什么,存储过程查询语句
一、oracle存储过程怎么判断一条sql语句是否成功
oracle存储过程判断一条sql语句是否成功的方法是增加exception处理,如果没有抛出exception,那就证明正常执行了。
在Oracle中,异常分为以下两类:
Oracle预定义异常
用户自定义异常
在Oracle中预定义的异常如下表所示:
在Oracle中有以下三种方式触发异常:
由Oracle自动触发异常
使用RAISE语句手工触发
调用存储过程RAISE_APPLICATION_ERROR手工触发
代码将演示Oracle自动触发异常:
-- Created on 2015-7-14 by JellyThink
declare
iA NUMBER(2):= 10;
begin
iA:= iA/ 0;-- Oracle自动触发异常
dbms_output.put_line(iA);
exception
when ZERO_DIVIDE then
dbms_output.put_line('Error Code:'|| SQLCODE||''|| SQLERRM);
when others then
dbms_output.put_line('Others Exception');
end;
二、存储过程应用语句有哪些
存储过程与其他面向对象的程序设计语言一样,同样包含数据类型、流程控制、语句注释、输入和输出与自己的函数库。存储过程的流程控制语句有ifelse、casewhenthen、while等,但没有for循环,跟C++、Java等语言的流程控制语句非常类似。条件语句条件语句是流程控制的重要组成部分,跟其他编程语言一样,存储过程允许使用if关键字来作条件判断,除此之外,还可以使用case来实现其他更为灵活的条件控制。
1.if语句(1)if语法if语句是普通的条件控制语句,其语法简单易懂,在存储过程代码中随处可见,也是使用频率高的条件判断语句。
语法格式:if…then…elseif…then…else…endif其中,((1)if后面跟判断条件;
(2)elseif后面跟判断条件;
(3)then后面跟条件分支语句块;
(4)可以有多个elseif…then语句块,也可以没有;(5)else表示以上条件均不满足时会执行的语句块;
(6)整个条件语句块的后面以endif表示结束。if语句的用法,以语句“ifcondition_para=1then”开始条件控制,以语句“endif”结束条件控制,中间用“elseif”“else”作条件分支控制。单个SQL语句if语法语句格式:if(expr1
三、怎么查看一个存储过程的SQL语句
查看一个存储过程的SQL语句步骤如下:
1、开启Microsoft SQL Server数据库管理工具,输入账号密码连接到数据库。
2、如果数据库服务器上有多个数据库,选择我们要查看的数据库,展开其选项。
3、在数据库展开的菜单中,找到‘可编程性’菜单,并将其展开。
4、在‘可编程性’菜单下面,找到‘存储过程’并单击其前面的‘+’号,让其展开。这里可以看见系统自带存储过程和用户自己编译的存储过程。
5、在要管理的存储过程名称上单击鼠标右键,依次选择:‘编写存储过程脚本为’--->‘Alter到’--->‘新的查询编辑器窗口’。这个动作是修改存储过程。
6、这时,我们就能清楚的看见这个存储过程的代码,可以做修改,修改后记得保存才能生效。
四、sql***存储过程查询语句
use MYTextDB----------使用MYTextDB数据库
CREATE PROCEDURE dbo.getUserList------------创建存储过程
as
set nocount on
begin-------------开始
select* from dbo.tbl_User-------------------定义SQL语句
end
go
EXEC dbo.getUserList---------------执行存储过程
在.NET的代码中调用:
'**通过Command对象调用存储过程**
DIM MyComm,MyRst
Set MyComm= Server.CreateObject("ADODB.Command")
MyComm.ActiveConnection= MyConStr'MyConStr是数据库连接字串
MyComm.CommandText="getUserList"'指定存储过程名
MyComm.CommandType= 4'表明这是一个存储过程
MyComm.Prepared= true'要求将SQL命令先行编译
Set MyRst= MyComm.Execute
Set MyComm= Nothing
存储过程取得的记录集赋给MyRst,接下来,可以对MyRst进行*作。
在以上代码中,CommandType属性表明请求的类型,取值及说明如下:
-1表明CommandText参数的类型无法确定
1表明CommandText是一般的命令类型
2表明CommandText参数是一个存在的表名称
4表明CommandText参数是一个存储过程的名称
还可以通过Connection对象或Recordset对象调用存储过程,方法分别如下:
'**通过Connection对象调用存储过程**
DIM MyConn,MyRst
Set MyConn= Server.CreateObject("ADODB.Connection")
MyConn.open MyConStr'MyConStr是数据库连接字串
Set MyRst= MyConn.Execute("getUserList",0,4)'后一个参断含义同CommandType
Set MyConn= Nothing
'**通过Recordset对象调用存储过程**
DIM MyRst
Set MyRst= Server.CreateObject("ADODB.Recordset")
MyRst.open"getUserList",MyConStr,0,1,4
'MyConStr是数据库连接字串,后一个参断含义与CommandType相同