- 浏览: 570213 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (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 674http://blog.csdn.net/orion61/ar ... -
sum if 或 sum case 加速查询
2016-12-05 08:56 478http://www.jianshu.com/p/c19c99 ... -
sql join 时 on和where 区别
2016-12-05 00:15 356http://blog.csdn.net/muxiaoshan ... -
sql 执行顺序
2016-12-05 00:17 247http://blog.csdn.net/u013600225 ... -
键、索引、约束及其区别 主键约束和唯一性约束的区别
2016-03-28 17:14 742http://blog.csdn.net/dlodj/arti ... -
join......on 后面的and 和where
2014-07-03 11:25 10531运行平台:Mysql 目的:比较join......on 后面 ... -
sql 获取字符串长度SQL字符串操作汇总
2014-04-09 00:57 2621http://blog.csdn.net/a4562834/a ... -
sql server2005服务无法启动
2013-12-18 23:44 574http://blog.sina.com.cn/s/blog_ ... -
分时间段统计(case + group by)
2013-07-20 21:53 1338http://www.cnblogs.com/qiantuw ... -
获取日期的年份,月份,日期
2013-07-20 20:08 851select DATENAME(YEAR,GETDATE()) ... -
sql case when
2013-04-09 14:20 732SELECT *, processStrin ... -
sql 语句顺序 where,group by,order by
2013-02-22 18:06 951SELECT accessoryItem,accessoryT ... -
statement、prepareStatement、callableStatement的使用
2013-01-18 12:54 7111.PreparedStatement: 带?参数的使用p ... -
sql 多行并一行
2013-01-14 15:26 7681) select _size from clothes wh ... -
sql group by语句
2012-08-23 16:20 717以下写法错误 select orderNo,styleNo,c ... -
sql select时增加常量列
2012-08-23 16:08 12588string sql="select a,b,'常量 ... -
动态sql的传参方法和获取返回值
2012-08-23 15:14 5786一)动态sql的传参方法 /* 实现动态sql传参的方法一 ... -
注意ms sql的substring
2012-08-22 17:21 816MS的substring(列名,n,m) n:起始位置 m: ... -
union all 效率问题
2012-08-21 16:18 768如果union all太多的话,建议使用存储过程,建立一张临时 ... -
外键约束是否必要
2012-08-21 16:15 771外键约束是否必要 http://www.iteye.com/ ...
相关推荐
创建存储过程: ALTER PROCEDURE [dbo].[GetCustomers] (@rowcount INT OUTPUT) AS SELECT [CustomerID] ,[CompanyName] ,[ContactName] ,[ContactTitle] ,[Address] ,[City] ,[Region] ,[PostalCode] ,...
sqlserver存储过程验证用户登录和账号是否停用或者被其他人登录中,适合新人写给新人 ,里面有张gif图,是一张动态的图片,交代了里面的一些表字段,演示了过程的调用,和对不同参数(错误)和列值返回的结果验证
delphi如何调用sql存储过程,并获取结果 adostoredproc1.Close; adostoredproc1.ProcedureName:='sp_thchl'; adostoredproc1.Parameters.Clear; adostoredproc1.Parameters.CreateParameter('out',ftInteger,...
存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行。 存储过程中可以包含逻辑控制语句和数据操纵语句,它可以接受参数、输出参数、返回...
SqlServer获取存储过程返回值的实例,需要的朋友可以参考一下
内容概要:简单的C# winform调用存储过程实例,创建存储过程入参,通过SqlConnection对象和SqlCommand对象调用存储过程,获取存储过程的出参并显示出来,详细代码注释,希望对用到C#调用存储过程的小伙伴有帮助 ...
有返回值SQL Server存储过程的一个调用方法.pdf
SQLSERVER数据库中存储BLOB类型数据,在线等现在公司要求用PB6.5+SQLser
代码如下://存储过程//Create PROCEDURE MYSQL// @a int,// @b int//AS// return @a + @b//GOSqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings[“LocalSqlServer”].ToString())...
本文实例讲述了Python中执行存储过程及获取存储过程返回值的方法。分享给大家供大家参考,具体如下: 在Pathon中如何执行存储过程呢?可以使用如下方法: 存储过程定义基本如下: ALTER procedure [dbo]. [mysp] @...
删除一条留言信息会级联删除回复信息,这时我们需要用到事务,如下SQL 代码如下:ALTER PROCEDURE [dbo].[proc_tb_leaveword_delete] ( @leavewordID INT, @record TINYINT OUTPUT ) AS BEGIN BEGIN TRY BEGIN...
使用CREATE PROCEDURE语句创建存储过程,ALTER PROCEDURE语句修改存储过程,DROP PROCEDURE语句删除存储过程,存储过程有不带参数的、有带输入参数的、有带输出参数(output)的,还可以有带返回值的。创建好的存储...
本文实例讲述了C#调用存储过程的方法。分享给大家供大家参考,具体如下: CREATE PROCEDURE [dbo].[GetNameById] @studentid varchar(8), @studentname nvarchar(50) OUTPUT AS BEGIN SELECT @studentname=...
SQLServer的SQL对话让你能够轻松地处理可能会在存储进程、函数里发生的非致命错误,但是并不是所有的错误都很容易处理。事实上,致命和非致命的错误有很多。什么是致命的,什么是非致命的,对此没有很完备的文档说明...
系统存储过程是系统创建的存储过程,目的在于能够方便的从系统表中查询信息或完成与...存储过程是由一些SQL语句和控制语句组成的被封装起来的过程,它驻留在数据库中,可以被客户应用程序调用,也可以从另一个过程或
主要介绍了PHP使用PDO调用mssql存储过程的方法,结合简单实例形式分析了php基于pdo简单实现连接及调用存储过程相关操作技巧,需要的朋友可以参考下
【创建存储过程】 Create proc Insert_Update @Id varchar(20), @Name varchar(20), @Telephone varchar(20), @Address varchar(20), @Job varchar(20), @returnValue int output as declare @tmpName ...
java调用存储过程,支持获取return值,output返回值,以及查询的表数据,表数据允许有多个查询结果集