`
zhiyongliu
  • 浏览: 126286 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

18 存储过程

 
阅读更多

关于存储过程的概念、种类、语法、格式、功能以及优缺点请参考百度百科:

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();
    }
}

%> 
 
分享到:
评论
3 楼 u013096859 2015-06-24  
那么问题来了,存储过程到底考不考呢?
2 楼 nanacan 2013-07-02  
EchoHanInCC 写道
说好的不考存储过程呢~ 

1 楼 EchoHanInCC 2013-07-02  
说好的不考存储过程呢~ 

相关推荐

    Oracle数据库存储过程技术文档.doc

    第一章 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存储过程基础教程.pdf

    ### MySQL存储过程基础知识点 #### 1. 存储过程的定义和示例 存储过程是存储在MySQL服务器上的预编译的SQL代码段,它能够接受参数、执行一系列的SQL语句和流程控制语句。存储过程可以提高数据库操作的效率,同时...

    身份证检验SQL存储过程

    "身份证检验SQL存储过程"是一个专门用于验证身份证号码有效性的数据库程序,它涵盖了15位和18位身份证号码的验证,并且包含了对出生日期的检查以及18位身份证校验码的验证。以下是这个存储过程可能涉及的知识点: 1...

    SQL存储过程,触发器讲解及过程中要注意的内容

    SQL存储过程和触发器是数据库管理系统中的重要组成部分,它们在数据处理和业务逻辑实现中扮演着关键角色。本文将深入探讨这两个概念,以及在使用它们时需要注意的关键点。 首先,让我们了解一下SQL存储过程。存储...

    oracle存储过程写法

    根据提供的Oracle存储过程示例,我们可以详细解析其中的关键知识点,包括存储过程的创建、游标的使用、临时表的创建及数据处理等。 ### 存储过程的创建与使用 存储过程是在数据库中编写的SQL代码块,它可以接受...

    oracle存储过程语法及实例讲解

    ### Oracle存储过程语法及实例详解 #### 一、概述 Oracle存储过程是一种在数据库服务器上预编译并存储的程序块,它可以包含一系列SQL语句和控制流语句。存储过程提高了应用程序性能,并增强了数据的一致性和安全性...

    执行带回参动态SQL的带回参存储过程

    在数据库管理中,存储过程是一种预编译的SQL语句集合,它可以接受输入参数并返回结果。本主题将深入探讨如何执行带回参动态SQL的带回参存储过程,以及与之相关的概念,如动态SQL、存储过程中的参数处理和回参。 ...

    asp.net 调用带参数的存储过程

    在ASP.NET中,调用带有参数的存储过程是数据库交互中的常见操作,这极大地提高了代码的可维护性和性能。本文将详细讲解如何实现这一功能,包括如何定义输出参数以及在.NET代码中如何获取这些参数的值。 首先,我们...

    Oracle储存过程包加解密实现

    在Oracle数据库中,储存过程是预编译的SQL语句和PL/SQL代码块,用于执行特定任务。当涉及到敏感数据或商业逻辑时,保护这些储存过程的安全性变得至关重要。Oracle提供了一些内置功能来实现对储存过程的加解密,以...

    为学生数据库增加一个查询男生或女生的存储过程

    为学生数据库增加一个查询男生或女生的存储过程,并设计应用程序使用该存储过程。 提示: 存储过程语句如下: ALTER PROCEDURE SelectManStudent(@Sex nchar(1)) AS SELECT StudentNum,StudentName,StudentSex ...

    mysql存储过程资料

    根据提供的文件信息,我们可以深入探讨 MySQL 存储过程的相关知识点,包括存储过程的创建、调用、删除,以及其中常用的一些流程控制语句和函数。 ### 一、MySQL 存储过程简介 #### 1. 创建存储过程 存储过程是一种...

    MySQL数据库:存储过程嵌套.pptx

    创建另外一个存储过程sell_update,在其中调用第一个存储过程,如果给定参数为0,则修改由第一个存储过程插入记录的是否发货字段为'已发货',如果给定参数为1则删除第一个存储过程插入的记录,并将操作结果输出。...

    java调用存储过程

    ### Java调用存储过程知识点详解 #### 一、概述 在Java编程中,调用数据库中的存储过程是一项常见的任务。存储过程是SQL语句和流程控制结构的预编译集合,存储于数据库中,用于执行特定功能。通过Java程序调用存储...

    业务逻辑的存储过程封装方法

    ### 业务逻辑的存储过程封装方法 在数据库管理系统中,存储过程是一种被编译并存储在数据库中的SQL脚本或程序。它能够接受输入参数、返回单个值、结果集或者多个结果集,并且可以调用其他存储过程。通过封装业务...

    ORACLE存储过程性能优化技巧

    ### ORACLE存储过程性能优化技巧 #### 一、概述 在数据库管理中,ORACLE存储过程的性能优化是一项至关重要的工作。高效的存储过程不仅能提升应用系统的响应速度,还能减少服务器资源的消耗,提高整体系统性能。...

    存储过程,触发器,远程数据库

    ### 一、存储过程 #### 定义 存储过程(Stored Procedure)是一种预编译的SQL代码集合,在数据库中以一个命名单元的形式存在,可以接受输入参数并返回输出结果。存储过程在数据库服务器上执行,能够提高应用程序...

    SQL 存储过程 身份证号码验证完整算法

    (一) 18身份证号码的结构  公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。 排列顺序从左至右依次为:六位数字地址码 + 八位数字出生日期码 + 三位数字顺序码 + 一位校验码。 1、地址码  ...

    ASP调用存储过程及存储过程的一些写法.doc

    【ASP调用存储过程】 ASP (Active Server Pages) 是一种微软开发的服务器端脚本语言,常用于构建动态网页。在ASP中,调用存储过程是常见的一种与数据库交互的方式,存储过程是预编译的SQL语句集合,能够提高数据库...

    ASP存储过程参数数据类型.txt

    ### ASP存储过程参数数据类型详解 在开发过程中,利用ASP(Active Server Pages)与SQL Server 2000数据库进行交互时,正确设置存储过程的参数数据类型至关重要。本文将详细介绍与存储过程相关的各种数据类型及其...

Global site tag (gtag.js) - Google Analytics