仓酷云

标题: 存储历程return值 [打印本页]

作者: 爱飞    时间: 2015-1-16 14:19
标题: 存储历程return值
MySQL的海豚标志的名字叫“sakila”,它是由MySQLAB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者AmbroseTwebaze提供。存储历程代码以下:

ALTERPROCEDUREdbo.testOutput
(
@p1int,
@p2intOUTPUT,
@p3int
)
AS
/*SETNOCOUNTON*/
select@p2=count(*)fromtestProcwheretestidbetween@p1and@p3
RETURN@@rowcount
这个存储历程前往2个值,一个是output型参数@p2,别的一个是数据库自带的return值@@rowcount(语句所影响的行数)。

C#程序:

SqlCommandcom=newSqlCommand("testOutput",con);
com.CommandType=CommandType.StoredProcedure;
SqlParameterp1=newSqlParameter("@p1",SqlDbType.Int);
SqlParameterp2=newSqlParameter("@p2",SqlDbType.Int);
SqlParameterp3=newSqlParameter("@p3",SqlDbType.Int);
SqlParameterrowcount=newSqlParameter("@@rowcount",SqlDbType.Int);
p1.Value=int.Parse(textBox2.Text);
p2.Direction=ParameterDirection.Output;//把p2设置为output型参数
p3.Value=int.Parse(textBox3.Text);
rowcount.Direction=ParameterDirection.ReturnValue;//把rowcount类////型设置为returnvalue型
com.Parameters.Add(p1);
com.Parameters.Add(p2);
com.Parameters.Add(p3);
com.Parameters.Add(rowcount);
com.ExecuteNonQuery();
MessageBox.Show(p2.Value.ToString());//实行过存储历程今后,output参数p2和@@rowcount就主动前往了值。
MessageBox.Show(rowcount.Value.ToString());
支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统
作者: 蒙在股里    时间: 2015-1-18 12:54
理解了存储结构,再阅读下性能优化的章节基本上会对sqlserver有个清晰地认识
作者: 精灵巫婆    时间: 2015-1-25 16:54
但换公司用MSSQL2K感觉自己好像根本就不了解MSSQL。什么DTS触发器以前根本没用过。
作者: 山那边是海    时间: 2015-2-3 11:54
始终遗憾SQLServer的登陆无法分配CPU/内存占用等指标数。如果你的SQLServer给别人分配了一个只可以读几个表的权限,而这个家伙疯狂的死循环进行连接查询,会给你的系统带来很大的负担。
作者: 变相怪杰    时间: 2015-2-8 22:08
多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油
作者: 柔情似水    时间: 2015-2-26 12:14
换言之,只有在不断的失败中尝试成功,而关于失败的总结却是很少的
作者: 第二个灵魂    时间: 2015-3-8 15:09
无法深入到数据库系统层面去了解和探究
作者: 海妖    时间: 2015-3-16 03:47
总感觉自己还是不会SQL
作者: 小妖女    时间: 2015-3-22 20:02
每天坚持做不一样的是,认真做笔录,定时复习。一个月你就可以有一定的收获。当然如果你想在sql方面有一定的造诣,你少不了需要看很多很多的书籍了。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2