帮忙看一下存储过程的问题?谢谢
1、下面用游标显示数据是一行一行显示的,有没有办法显示一个整体;
2、第一次写游标,帮忙优化一下
set nocount on
declare @sid varchar(20)
declare @sname varchar(100)
declare @lname varchar(100)
declare @sid2 varchar(20)
declare @sname2 varchar(100)
declare @lname2 varchar(100)
declare show cursor for
select a.supplyid,b.supplyname,a.licensename
from supply_license a left join supply b on a.supplyid = b.supplyid
order by a.supplyid
open show
FETCH NEXT FROM show into @sid,@sname,@lname
select @sid as sid,@sname as sname,@lname as lname
WHILE @@FETCH_STATUS = 0
BEGIN
FETCH NEXT FROM show into @sid2,@sname2,@lname2
if (@sid = @sid2 and @sname = @sname2 )
begin
select '' as sid,'' as sname,@lname2 as lname
set @sid = @sid2
set @sname = @sname2
set @lname = @lname2
end
else
begin
select @sid2 as sid,@sname2 as sname,@lname2 as lname
set @sid = @sid2
set @sname = @sname2
set @lname = @lname2
end
END
CLOSE show
DEALLOCATE show
set nocount off
本来写这个的目的如下面:
00001 沈阳统一企业有限公司 生产许可证
00001 沈阳统一企业有限公司 卫生许可证
00001 沈阳统一企业有限公司 商标注册证
00001 沈阳统一企业有限公司 营业执照
00001 沈阳统一企业有限公司 企业标准
写语句变成
00001 沈阳统一企业有限公司 生产许可证
卫生许可证
商标注册证
营业执照
企业标准
先谢谢各位
2、第一次写游标,帮忙优化一下
set nocount on
declare @sid varchar(20)
declare @sname varchar(100)
declare @lname varchar(100)
declare @sid2 varchar(20)
declare @sname2 varchar(100)
declare @lname2 varchar(100)
declare show cursor for
select a.supplyid,b.supplyname,a.licensename
from supply_license a left join supply b on a.supplyid = b.supplyid
order by a.supplyid
open show
FETCH NEXT FROM show into @sid,@sname,@lname
select @sid as sid,@sname as sname,@lname as lname
WHILE @@FETCH_STATUS = 0
BEGIN
FETCH NEXT FROM show into @sid2,@sname2,@lname2
if (@sid = @sid2 and @sname = @sname2 )
begin
select '' as sid,'' as sname,@lname2 as lname
set @sid = @sid2
set @sname = @sname2
set @lname = @lname2
end
else
begin
select @sid2 as sid,@sname2 as sname,@lname2 as lname
set @sid = @sid2
set @sname = @sname2
set @lname = @lname2
end
END
CLOSE show
DEALLOCATE show
set nocount off
本来写这个的目的如下面:
00001 沈阳统一企业有限公司 生产许可证
00001 沈阳统一企业有限公司 卫生许可证
00001 沈阳统一企业有限公司 商标注册证
00001 沈阳统一企业有限公司 营业执照
00001 沈阳统一企业有限公司 企业标准
写语句变成
00001 沈阳统一企业有限公司 生产许可证
卫生许可证
商标注册证
营业执照
企业标准
先谢谢各位
...全文
相关推荐
ASP技术常遇问题解答-如何调用Oracle存储过程?.zip
ASP技术问题解答,希望对你有帮助。
ASP技术常遇问题解答-如何调用SQL Server的存储过程?.zip
ASP技术问题解答,希望对你有帮助。
mysql中存储过程、函数的一些问题
最近写一些mysql的存储过程和函数,发现网上比较有价值的文档很少,大都是照着手册上抄来的,有些实际问题解决不了,比如用变量作表名。 经过反复调试,总算找到解决办法,一下是一些简单的记录,比较零碎。部分内容转自http://my.opera.com/Dereky/blog/show.dml/322997 1.用变量做表名: 简单的用set或者declare语句定义变量,然后直接作为sql的表名是不行的,mysql会把变量名当作表名。在其他的sql数据库中也是如此,mssql的解决方法是将整条sql语句作为变量,其中穿插变量作为表名,然后用sp_executesql调用该语句。 这在mysql5
Java调用存储过程的2种方法
Java调用存储过程的2种方法 Java调用存储过程的2种方法 Java调用存储过程的2种方法
存储过程入门详解及试题讲解
此文件对初学者会有很大的帮助,它有详尽的讲解。!!!


应用实例
