- 浏览: 591432 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (423)
- windows2003 (1)
- exception (3)
- java (91)
- eclipse (14)
- java web (3)
- javaScript (11)
- 装机 (1)
- sql (34)
- outlook (1)
- html (8)
- JAVA 不同区域服务器引起的乱码解决 (2)
- strtus (3)
- http (1)
- 设计模式 (4)
- Java对存储过程的调用方法 (0)
- java-数据库操作 (0)
- jdbc (7)
- dwr (2)
- 软件版本号 (1)
- jxls (1)
- ExtJS (3)
- Ajax (1)
- git (12)
- linux (20)
- mysql (14)
- maven (16)
- easyui (1)
- 日常备注 (1)
- spring (9)
- others (1)
- windows快捷键 (1)
- 工作备注 (9)
- 工作杂项 (0)
- photoshop (1)
- 开发环境配置 (0)
- jboss (1)
- 报表 (1)
- 图表 (1)
- fckeditor (1)
- 调试bug (2)
- 口令 (1)
- css (2)
- mongodb (7)
- restful (1)
- jsp (5)
- jpa (2)
- bug (1)
- js (2)
- Json (1)
- POI (1)
- xml (2)
- webstorm (1)
- java swing (1)
- ubuntu (3)
- mongo (27)
- 自我学习 (0)
- 草稿 (0)
- 单元测试 (1)
- 数据库 (2)
- ide (1)
- 大数据 (0)
- uml (1)
- spring-boot (1)
- mybatis (3)
- oracle (2)
- jetty (1)
- 学习 (0)
- 系统调优 (1)
- tomcat (2)
- kettle (1)
- 学习资源 (1)
- 架构 (2)
- database (4)
- idea (1)
- consul (1)
- hadoop (2)
- nginx (3)
- 认证 (1)
- 加密 (1)
- connection pool (1)
- loadrunner (1)
- tps (1)
- 翻墙工具 (1)
- redis (2)
- redis jedis shardjedis (1)
- spring boot (1)
- 认证授权 (1)
- ssh (1)
- svn (2)
- 多线程 (1)
最新评论
-
abcdeudi:
不错
接口和抽象类什么时候使用才合适? -
羽翼的心动:
POI中对Word处理,读取不到书签。如果要处理书签的话,就只 ...
POI根据模板(excel表头)导出excel -
pdf1192012:
高质量文章
接口和抽象类什么时候使用才合适? -
沐忆潼:
...
POI根据模板(excel表头)导出excel -
422937561:
高质量文章
接口和抽象类什么时候使用才合适?
1. 存储过程没有返回值的情况(即存储过程语句中没有return之类的语句) 用方法 int count = ExecuteNonQuery(..)执行存储过程其返回值只有两种情况 (1)假如通过查询分析器执行该存储过程,在显示栏中假如有影响的行数,则影响几行count就是几 (2)假如通过查询分析器执行该存储过程,在显示栏中假如显示'命令已成功完成。'则count = -1;在显示栏中假如有查询结果,则count = -1 总结:A.ExecuteNonQuery()该方法只返回影响的行数,假如没有影响行数,则该方法的返回值只能是-1,不会为0。 B.不论ExecuteNonQuery()方法是按照CommandType.StoredProcedure或者CommandType.Text执行,其效果和A一样。 --------------------------------------------------------------------------------------------------------------------------------------------------- 2. 获得存储过程的返回值--通过查询分析器获得 (1)不带任何参数的存储过程(存储过程语句中含有return) ---创建存储过程 CREATE PROCEDURE testReturn AS return 145 GO ---执行存储过程 DECLARE @RC int exec @RC=testReturn select @RC ---说明 查询结果为145 (2)带输入参数的存储过程(存储过程语句中含有return) ---创建存储过程 create procedure sp_add_table1 @in_name varchar(100), @in_addr varchar(100), @in_tel varchar(100) as if(@in_name = '' or @in_name is null) return 1 else begin insert into table1(name,addr,tel) values(@in_name,@in_addr,@in_tel) return 0 end ---执行存储过程 <1>执行下列,返回1 declare @count int exec @count = sp_add_table1 '','中三路','123456' select @count <2>执行下列,返回0 declare @count int exec @count = sp_add_table1 '','中三路','123456' select @count ---说明 查询结果不是0就是1 (3)带输出参数的存储过程(存储过程中可以有return可以没有return) 例子A: ---创建存储过程 create procedure sp_output @output int output as set @output = 121 return 1 ---执行存储过程 <1>执行下列,返回121 declare @out int exec sp_output @out output select @out <2>执行下列,返回1 declare @out int declare @count int exec @count = sp_output @out output select @count ---说明 有return,只要查询输出参数,则查询结果为输出参数在存储过程中最后变成的值;只要不查询输出参数,则查询结果为return返回的值 例子B: ---创建存储过程 create procedure sp_output @output int output as set @output = 121 ---执行存储过程 <1>执行下列,返回121 declare @out int exec sp_output @out output select @out <2>执行下列,返回0 declare @out int declare @count int exec @count = sp_output @out output select @count ---说明 没有return,只要查询输出参数,则查询结果为输出参数在存储过程中最后变成的值;只要不查询输出参数,则查询结果为0 总结: (1)存储过程共分为3类: A.返回记录集的存储过程---------------------------其执行结果是一个记录集,例如:从数据库中检索出符合某一个或几个条件的记录 B.返回数值的存储过程(也可以称为标量存储过程)-----其执行完以后返回一个值,例如:在数据库中执行一个有返回值的函数或命令 C.行为存储过程-----------------------------------用来实现数据库的某个功能,而没有返回值,例如:在数据库中的更新和删除操作 (2)含有return的存储过程其返回值为return返回的那个值 (3)没有return的存储过程,不论执行结果有无记录集,其返回值是0 (4)带输出参数的存储过程:假如有return则返回return返回的那个值,假如要select输出参数,则出现输出参数的值,于有无return无关 --------------------------------------------------------------------------------------------------------------------------------------------------- 3.获得存储过程的返回值--通过程序获得 --------------------------------------------------------------------------------------------------------------------------------------------------- SqlParameter[] cmdParms = { .. ,new SqlParameter("@return",SqlDbType.Int)}; cmdParms[cmdParms.Length - 1].Direction = ParameterDirection.ReturnValue;或者 cmdParms[cmdParms.Length - 1].Direction = ParameterDirection.Output或者 cmdParms[cmdParms.Length - 1].Direction = ParameterDirection.Input; 得到返回值 object bj = cmdParms[cmdParms.Length - 1].Value;
摘自:http://space.itpub.net/22168574/viewspace-670978
发表评论
-
sql批量插入
2017-04-01 17:37 740http://blog.csdn.net/orion61/ar ... -
sum if 或 sum case 加速查询
2016-12-05 08:56 532http://www.jianshu.com/p/c19c99 ... -
sql join 时 on和where 区别
2016-12-05 00:15 401http://blog.csdn.net/muxiaoshan ... -
sql 执行顺序
2016-12-05 00:17 285http://blog.csdn.net/u013600225 ... -
键、索引、约束及其区别 主键约束和唯一性约束的区别
2016-03-28 17:14 783http://blog.csdn.net/dlodj/arti ... -
join......on 后面的and 和where
2014-07-03 11:25 10623运行平台:Mysql 目的:比较join......on 后面 ... -
sql 获取字符串长度SQL字符串操作汇总
2014-04-09 00:57 2669http://blog.csdn.net/a4562834/a ... -
sql server2005服务无法启动
2013-12-18 23:44 616http://blog.sina.com.cn/s/blog_ ... -
分时间段统计(case + group by)
2013-07-20 21:53 1391http://www.cnblogs.com/qiantuw ... -
获取日期的年份,月份,日期
2013-07-20 20:08 895select DATENAME(YEAR,GETDATE()) ... -
sql case when
2013-04-09 14:20 773SELECT *, processStrin ... -
sql 语句顺序 where,group by,order by
2013-02-22 18:06 1032SELECT accessoryItem,accessoryT ... -
statement、prepareStatement、callableStatement的使用
2013-01-18 12:54 7631.PreparedStatement: 带?参数的使用p ... -
sql 多行并一行
2013-01-14 15:26 8121) select _size from clothes wh ... -
sql group by语句
2012-08-23 16:20 762以下写法错误 select orderNo,styleNo,c ... -
sql select时增加常量列
2012-08-23 16:08 12662string sql="select a,b,'常量 ... -
动态sql的传参方法和获取返回值
2012-08-23 15:14 5876一)动态sql的传参方法 /* 实现动态sql传参的方法一 ... -
注意ms sql的substring
2012-08-22 17:21 859MS的substring(列名,n,m) n:起始位置 m: ... -
union all 效率问题
2012-08-21 16:18 813如果union all太多的话,建议使用存储过程,建立一张临时 ... -
外键约束是否必要
2012-08-21 16:15 813外键约束是否必要 http://www.iteye.com/ ...
相关推荐
创建存储过程: ALTER PROCEDURE [dbo].[GetCustomers] (@rowcount INT OUTPUT) AS SELECT [CustomerID] ,[CompanyName] ,[ContactName] ,[ContactTitle] ,[Address] ,[City] ,[Region] ,[PostalCode] ,...
总的来说,VB.NET 2008调用SQL Server存储过程涉及到创建数据库连接、定义命令对象、设置参数、执行存储过程并处理返回值和异常。这个过程允许开发者高效地与数据库交互,同时处理可能发生的错误情况。
在SQL Server数据库管理系统中,存储过程和触发器是两种非常重要的数据库编程元素,它们对于数据库设计和数据管理具有深远的影响。下面将详细讲解这两个概念及其相关的知识点。 **SQL存储过程**: 1. **定义**:SQL...
### SQL Server 存储过程在系统开发中的应用 #### 概述 在现代数据库系统开发过程中,SQL Server 存储过程被广泛应用于提高系统性能、简化应用程序开发以及增强安全性等方面。存储过程是一种预编译的SQL脚本,它...
在SQL Server 2008中,存储过程和触发器是数据库管理中不可或缺的重要组成部分,它们为数据库系统提供了更高级别的功能和控制。本篇将深入解析这两个概念及其在实际应用中的具体用法。 首先,存储过程是预编译的SQL...
SQL Server存储过程生成器是一种工具,它旨在帮助数据库管理员和开发人员更轻松、高效地创建和管理存储过程。存储过程是预编译的SQL代码集合,可以在SQL Server中执行,提供了一种组织和重用代码的方式,提高了应用...
以下是关于SQL Server存储过程的详细说明: 1. **存储过程的概念** 存储过程Procedure是一系列SQL语句的集合,它们在数据库中以编译好的形式存储,当需要执行时,只需要调用存储过程的名称并传入相应的参数。存储...
以下是关于SQL Server存储过程和函数的一些常用知识点: 1. **存储过程(Stored Procedures)**: - **定义**:存储过程是一组预编译的SQL语句,可以接受参数,执行特定任务,如数据查询、更新或插入等。 - **...
本文将详细介绍SQL Server存储过程中推荐使用的命名标准,并通过具体示例加以说明。 ### SQL Server存储过程命名标准概述 #### 前缀规则 存储过程的名称应以`sp_`为前缀,这是SQL Server系统内部所采用的标准前缀...
调用有返回值SQL Server存储过程的一些方法 本文主要讲解了如何调用有返回值的SQL Server存储过程,以提高Power Builder程序的运行效率和系统的易维护性和扩展性。通过实例,阐述了调用有返回值的SQL Server存储...
在SQL Server中,可以通过`CREATE PROCEDURE`语句来创建存储过程,定义参数、设置返回值,并编写SQL语句实现特定的功能。调用存储过程则使用`EXEC`或`EXECUTE`命令,传入参数进行执行。例如: ```sql CREATE ...
SQL Server 2000是微软推出的一款关系型数据库管理系统,其存储过程是数据库管理员和开发者常用的功能之一,用于封装复杂的SQL查询、业务逻辑和数据处理。存储过程能够提高数据库性能,减少网络流量,增强安全性,并...
在Delphi中调用SQL存储过程并获取结果是数据库编程中的一个重要环节。下面将通过给定的代码示例,详细解析Delphi如何调用SQL存储过程,并获取执行结果。 ### Delphi调用SQL存储过程的基本步骤 #### 1. 准备工作 ...
存储过程是SQL Server 2005中的一个核心特性,是预编译的SQL语句集合,可以理解为数据库中的可执行程序。本视频教程针对存储过程这一主题,对初学者提供了宝贵的教育资源。 存储过程的优势在于: 1. **性能优化**...
在SQL Server(Mssql)中,存储过程是预编译的SQL代码集合,常常用于执行复杂的数据库操作。在编写存储过程时,我们有时需要向调用者传递结果或状态信息,这时就涉及到两种主要的方式:`RETURN`和`OUTPUT`参数。下面...
在Java中调用不带参数的SQL Server存储过程时,我们需要利用JDBC提供的`call`转义序列来实现这一功能。具体做法是通过`{call procedure-name}`这样的语法结构来调用存储过程。例如,在SQL Server 2005 ...
总结来说,SQL Server的存储过程是数据库管理的重要工具,它们可以提高数据库应用的效率,简化复杂的查询逻辑,同时提供了代码复用的可能性。通过本实验,我们不仅了解了存储过程的基本概念,还学会了如何根据实际...
SQL Server存储过程是数据库开发和管理中的重要工具,它们是一组预先编译的T-SQL语句,可以执行复杂的数据库操作。在这个“SQL Server 存储过程100例”中,你将深入理解存储过程的多样性和实用性,超过100个示例将...