最近项目中用到sql的一些资料总结
2009-05-14 14:05
543 查看
最近在存储过程中用到了关于游标的一些东西。
第一 输出参数
output
第二 关于游标性能的问题。
代码
ALTER PROCEDURE getProductDetialed
(@id int,@sortName varchar(400) output,@channel varchar(400) output)
/*
(获取产品详细
@parameter1 int = 5,
@parameter2 datatype OUTPUT
)
*/
AS
begin
SET NOCOUNT ON
declare @chanel1 varchar(400)
declare @sortName1 varchar(400)
declare @sortId int
set @sortId=(select db_goodSort from db_good where db_goodId=@id)
select db_goodId,db_goodName,db_goodsmallPic,db_goodPic,db_price,db_goodDescription,db_lookCount,db_sellCount,db_cunhuo,db_canel,keyWords from db_good where db_goodId=@id
declare one cursor
for
select dg.ChannelName as channelName,ds.db_goodSortName as goodSortName from db_goodChannel as dg inner join db_goodSort as ds on dg.id=ds.db_goodSortChannel where ds.db_goodSortId=@sortId
open one
fetch next from one into @chanel1,@sortName1
close one
deallocate one
set @channel=@chanel1
set @sortName=@sortName1
end
无论如何也显示不出来输出参数的值,后来检查出来时fetch next的地方出问题了
因为我加了个
while @ftech_status=0
其实刚开始的时候游标地址是没有指向第一行的,所以@ftech-status并不等于0
还有的是into的时候,文档上说是要局部变量。
所以我去掉@ftech-status的时候,成功运行了、
还有一点就是输出参数必须是@@全局变量
至于性能方面的话,尽量的将值快速读取,快速关闭游标,我想在小的地方还是很快的。
第一 输出参数
output
第二 关于游标性能的问题。
代码
ALTER PROCEDURE getProductDetialed
(@id int,@sortName varchar(400) output,@channel varchar(400) output)
/*
(获取产品详细
@parameter1 int = 5,
@parameter2 datatype OUTPUT
)
*/
AS
begin
SET NOCOUNT ON
declare @chanel1 varchar(400)
declare @sortName1 varchar(400)
declare @sortId int
set @sortId=(select db_goodSort from db_good where db_goodId=@id)
select db_goodId,db_goodName,db_goodsmallPic,db_goodPic,db_price,db_goodDescription,db_lookCount,db_sellCount,db_cunhuo,db_canel,keyWords from db_good where db_goodId=@id
declare one cursor
for
select dg.ChannelName as channelName,ds.db_goodSortName as goodSortName from db_goodChannel as dg inner join db_goodSort as ds on dg.id=ds.db_goodSortChannel where ds.db_goodSortId=@sortId
open one
fetch next from one into @chanel1,@sortName1
close one
deallocate one
set @channel=@chanel1
set @sortName=@sortName1
end
无论如何也显示不出来输出参数的值,后来检查出来时fetch next的地方出问题了
因为我加了个
while @ftech_status=0
其实刚开始的时候游标地址是没有指向第一行的,所以@ftech-status并不等于0
还有的是into的时候,文档上说是要局部变量。
所以我去掉@ftech-status的时候,成功运行了、
还有一点就是输出参数必须是@@全局变量
至于性能方面的话,尽量的将值快速读取,快速关闭游标,我想在小的地方还是很快的。
相关文章推荐
- 最近公司用到了lombok,感觉很不错的样子,所以上网搜了一些资料,总结了一下用法。
- 整理一些最近项目中用到的一些JS方法
- js的一些使用。。。(最近项目jquery使用的总结)
- 最近做项目,前端的一些总结
- 关于RDS 项目中Eclipse中用到RDS configure 不了解,所以找了一些资料看看。
- 最近做项目遇到的一些问题总结
- 最近项目的一些经验总结
- 总结一下最近实践上用到的sql语句
- 最近一些项目编码实践总结思考
- HTTP协议中的短轮询、长轮询、长连接和短连接 序言 最近刚到公司不到一个月,正处于熟悉项目和源码的阶段,因此最近经常会看一些源码。在研究一个项目的时候,源码里面用到了HTTP的长轮询。由于之前没太
- 最近在面试 总结一些面试题 以供自己以后面试用到
- 项目中的用到的一些jQuery【总结】
- 最近项目用到的技术总结
- SCPPO(十九):项目中SQL语句的一些应用总结
- struts2总结(自己做项目时遇到的问题加上一些网上的资料)
- 最近用到的一些sql命令(持续更新)
- 最近开发项目用到 bootsrap-select这个插件。多选获取值的经验总结
- 总结项目开发中用到的一些css\html技巧
- 项目中用到的SQL-总结
- 最近忙项目的一些小教训总结