关于存储过程的概念、种类、语法、格式、功能以及优缺点请参考百度百科:
http://baike.baidu.com/view/68525.htm
创建存储过程:sql server 2000
以下例子使用的是jdbc driver2.0
企业管理器-存储过程-创建存储过程
例一:读取数据的存储过程
CREATE PROCEDURE selectInfo
As
select * from dtree
GO
在jsp中调用该存储过程selectInfo方法如下
<%
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
String url="jdbc:sqlserver://localhost:1433;DatabaseName=database";
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
CallableStatement cstmt = conn.prepareCall("{call selectInfo}"); //{后面不能有空格
ResultSet rs=cstmt.executeQuery();
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%> <br>
您的第二个字段内容为:<%=rs.getString(2)%> <br>
您的第三个字段内容为:<%=rs.getString(3)%> <br>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
conn.close();
%>
例二:插入数据
存储过程insertInfo
CREATE PROCEDURE insertInfo
@param1 char(50),@param2 varchar(50)
as
insert userlist(username,pwd) Values(@param1,@param2)
RETURN 1
GO
jsp中调用insertInfo存储过程
<%
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url="jdbc:sqlserver://localhost:1433;databaseName=database;user=sa;password=";
String sql = "{?=call insertInfo(?,?)}";
Connection conn = null;
CallableStatement cstmt = null;
try{
conn= DriverManager.getConnection(url);
cstmt = conn.prepareCall(sql);
cstmt.registerOutParameter(1,java.sql.Types.INTEGER);
cstmt.setString(2,"admin");
cstmt.setString(3,"pwd");
cstmt.execute();
int returnValue = cstmt.getInt(1);
if(returnValue == 1)
{
out.print("<li>添加成功!");
}
else
{
out.print("<li>添加失败!");
}
}
catch(Exception ex)
{
out.print(ex.getLocalizedMessage());
}
finally
{
try
{
if(cstmt != null)
{
cstmt.close();
cstmt = null;
}
if(conn != null)
{
conn.close();
conn = null;
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
%>
分享到:
相关推荐
第一章 oracle存储过程概述 2 1.1 存储过程基本结构(PROCEDURE) 3 1.1.1创建存储过程 3 1.1.2 存储过程删除 5 1.1.3 调用存储过程 5 1.2存储函数(FUNCTIONE) 6 1.2.1 创建存储函数 6 1.2.2 删除存储函数 7 1.3 包...
### MySQL存储过程基础知识点 #### 1. 存储过程的定义和示例 存储过程是存储在MySQL服务器上的预编译的SQL代码段,它能够接受参数、执行一系列的SQL语句和流程控制语句。存储过程可以提高数据库操作的效率,同时...
"身份证检验SQL存储过程"是一个专门用于验证身份证号码有效性的数据库程序,它涵盖了15位和18位身份证号码的验证,并且包含了对出生日期的检查以及18位身份证校验码的验证。以下是这个存储过程可能涉及的知识点: 1...
SQL存储过程和触发器是数据库管理系统中的重要组成部分,它们在数据处理和业务逻辑实现中扮演着关键角色。本文将深入探讨这两个概念,以及在使用它们时需要注意的关键点。 首先,让我们了解一下SQL存储过程。存储...
根据提供的Oracle存储过程示例,我们可以详细解析其中的关键知识点,包括存储过程的创建、游标的使用、临时表的创建及数据处理等。 ### 存储过程的创建与使用 存储过程是在数据库中编写的SQL代码块,它可以接受...
### Oracle存储过程语法及实例详解 #### 一、概述 Oracle存储过程是一种在数据库服务器上预编译并存储的程序块,它可以包含一系列SQL语句和控制流语句。存储过程提高了应用程序性能,并增强了数据的一致性和安全性...
在数据库管理中,存储过程是一种预编译的SQL语句集合,它可以接受输入参数并返回结果。本主题将深入探讨如何执行带回参动态SQL的带回参存储过程,以及与之相关的概念,如动态SQL、存储过程中的参数处理和回参。 ...
在ASP.NET中,调用带有参数的存储过程是数据库交互中的常见操作,这极大地提高了代码的可维护性和性能。本文将详细讲解如何实现这一功能,包括如何定义输出参数以及在.NET代码中如何获取这些参数的值。 首先,我们...
在Oracle数据库中,储存过程是预编译的SQL语句和PL/SQL代码块,用于执行特定任务。当涉及到敏感数据或商业逻辑时,保护这些储存过程的安全性变得至关重要。Oracle提供了一些内置功能来实现对储存过程的加解密,以...
为学生数据库增加一个查询男生或女生的存储过程,并设计应用程序使用该存储过程。 提示: 存储过程语句如下: ALTER PROCEDURE SelectManStudent(@Sex nchar(1)) AS SELECT StudentNum,StudentName,StudentSex ...
根据提供的文件信息,我们可以深入探讨 MySQL 存储过程的相关知识点,包括存储过程的创建、调用、删除,以及其中常用的一些流程控制语句和函数。 ### 一、MySQL 存储过程简介 #### 1. 创建存储过程 存储过程是一种...
创建另外一个存储过程sell_update,在其中调用第一个存储过程,如果给定参数为0,则修改由第一个存储过程插入记录的是否发货字段为'已发货',如果给定参数为1则删除第一个存储过程插入的记录,并将操作结果输出。...
### Java调用存储过程知识点详解 #### 一、概述 在Java编程中,调用数据库中的存储过程是一项常见的任务。存储过程是SQL语句和流程控制结构的预编译集合,存储于数据库中,用于执行特定功能。通过Java程序调用存储...
### 业务逻辑的存储过程封装方法 在数据库管理系统中,存储过程是一种被编译并存储在数据库中的SQL脚本或程序。它能够接受输入参数、返回单个值、结果集或者多个结果集,并且可以调用其他存储过程。通过封装业务...
### ORACLE存储过程性能优化技巧 #### 一、概述 在数据库管理中,ORACLE存储过程的性能优化是一项至关重要的工作。高效的存储过程不仅能提升应用系统的响应速度,还能减少服务器资源的消耗,提高整体系统性能。...
### 一、存储过程 #### 定义 存储过程(Stored Procedure)是一种预编译的SQL代码集合,在数据库中以一个命名单元的形式存在,可以接受输入参数并返回输出结果。存储过程在数据库服务器上执行,能够提高应用程序...
(一) 18身份证号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。 排列顺序从左至右依次为:六位数字地址码 + 八位数字出生日期码 + 三位数字顺序码 + 一位校验码。 1、地址码 ...
【ASP调用存储过程】 ASP (Active Server Pages) 是一种微软开发的服务器端脚本语言,常用于构建动态网页。在ASP中,调用存储过程是常见的一种与数据库交互的方式,存储过程是预编译的SQL语句集合,能够提高数据库...
### ASP存储过程参数数据类型详解 在开发过程中,利用ASP(Active Server Pages)与SQL Server 2000数据库进行交互时,正确设置存储过程的参数数据类型至关重要。本文将详细介绍与存储过程相关的各种数据类型及其...