`
zhiyongliu
  • 浏览: 123680 次
  • 性别: 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 包...

    PostgreSQL 存储过程调试

    NULL 博文链接:https://haige18.iteye.com/blog/1746527

    身份证检验SQL存储过程

    身份证检验SQL存储过程,支持15,18位,支持日期检验,支持18位身份证的校验码。

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

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

    JDBC如何实现对存储过程的调用

    本工程用于JDBC如何实现对存储过程的调用 本工程编码方式:GBK 参考博客网址:http://blog.csdn.net/gaohuanjie/article/details/34422903 须执行的SQL语句: CREATE DATABASE `test`; USE `test`; CREATE TABLE...

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

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

    SQL存储过程推送微信消息

    2020-03-18更新: 几年前发的资源,今天才想起来看看,原来当初还加密了的。实在不好意思,现将加密部分补充发出来。还有不清楚的或者失败了的可以问我,看账号可联系我。 declare @url as varchar(1000) ,@json...

    在Visual Studio和SSMS中调试存储过程

    在Visual Studio和SQL Server Management Studio中调试存储过程。

    MySql存储过程编程.chm

    Chapter 18. Stored Program Security Section 18.1. Permissions Required for Stored Programs Section 18.2. Execution Mode Options for Stored Programs Section 18.3. Stored Programs and Code ...

    存储过程_传参数例子.sql

    存储过程_传参数例子 作为参考 Declare @SumMoney money exec dbo.Pro_CmpTrainingYearMoney 2009,@SumMoney output select @SumMoney Declare @SumMoney decimal(18,2) exec dbo.Pro_CmpRepairYearMoney 2009,@...

    医院管理系统sql数据库.doc

    12 数据模型优化 12 第五章 数据库实施阶段 14 数据库创建 14 数据表查询 17 数据表删除 17 视图创建 17 存储过程创建 18 存储过程的查询功能 18 存储过程的添加功能 19 存储过程的修改功能 20 存储过程的删除功能 ...

    G1010过程流程图.pdf

    过程流程图 初始过程流 程图 过程流程图 产品名称: 后 桥壳总成 产品代号: 2401000-G1010 共 6 页 第 1 页 流转 加工 储存 检验 装配 出货 日期(编制) 2007.11.18. 日期(修 改): 作业编号/简要说明 过程流程...

    MySQL高级教程视频.zip

    18.存储过程 - 语法 - if判断 19.存储过程 - 语法 - 输入参数 20.存储过程 - 语法 - 输出参数 21.存储过程 - 语法 - case结构 22.存储过程 - 语法 - while循环 23.存储过程 - 语法 - repeat循环 24.存储过程 - 语法 ...

    完整精品数据库课件 MySQL从入门到精通 第10章 存储过程和函数(共19页).ppt

    第09章 索引(共11页).pptMySQL从入门到精通 第10章 存储过程和函数(共19页).pptMySQL从入门到精通 第11章 视图(共20页).pptMySQL从入门到精通 第12章 触发器(共11页).pptMySQL从入门到精通 第13章 用户管理...

    SQLSserver2008 中

    18、存储过程(18) ? 19、存储过程(19) ? 20、存储过程(20) ? 21、存储过程(21) ? ? 第七章 游标 ? ? 1、游标1 ? 2、游标2 ? 3、游标3 ? 4、游标4 ? 5、游标5 ? 6、游标6 ? 7、游标7 ? 8、游标...

    SQL Server 分页查询通用存储过程(只做分页查询用)

    这段存储过程的的原创者(SORRY,忘记名字了),写得这段SQL代码很不错,我在这个基础上,按照我的习惯以及思维方式,调整了代码,只做分页查询用。 /*---------------------------------------------- *procedure ...

    Oracle存储过程返回游标实例详解

    有俩种方法: 一种是声明系统游标,一种是声明自定义游标,然后后面操作一样,参数类型为 in out 或out (1)声明个人系统游标.(推荐) 代码如下: create or replace p_temp_procedure ( cur_arg out sys_refcursor;...

    G1010过程流程图.doc

    过程流程图 " 初始过程流程图 "产品名称: 后桥壳总成 "产品代号:2401000-G1010 "共 6 页 第 1 页" "过程流程图 " " " " " 流转 加工 储存 检验 装配 出货 "日期(编制) 2007.11.18. "日期(修改): " "作业编号/...

    Oracle-SQL基础到存储过程下载(第二阶段)

    026.sql基础练习_经典18题.mp4 027.sql高级查询_伪列rowid.mp4 028.sql高级查询_伪列rownum.mp4 029.sql函数_字符函数.mp4 030.sql函数_数字函数.mp4 031.sql函数_日期函数.mp4 032.sql函数_转换函数.mp4 033.sql...

    关于ds18b20程序

    DS18B20温度传感器 * * C51 * * yajou 2008-06-28 无CRC * ********************************************************/ #include "reg51.h" #include "intrins.h" #include "DS18B20.h" /**********************...

Global site tag (gtag.js) - Google Analytics