我已有一个存储过程sp1(!!!注:sp1带有输入参数,用以按传入参数输出满足条件的所有记录),我现在想再写一个存储过程sp2,在sp2中引用sp1(sp2使用跟sp1完全相同的传入参数,用以实现将参数传入sp2中的sp1),sp2除了输出原sp1输出的所有字段,并增加输出一个表A中的“用户名”字段(当然,要和每一条输出的记录对应)。
大哥们,求求你们帮帮我吧!!!我现在很着急,我语法不过关,写不出这样的存储过程来!但愿你们不要嫌弃我给的30分,我就只有这么30分了。我知道写这个有点烦,但是我还是希望你们能帮帮我,小弟先谢谢你们了!!!要是我上面的描述你们还有不清楚的地方,请向我提出,我在线等,马上回答。谢谢了!!!
5 个解决方案
#1
create procedure sp2
@p1 类型, //参数是sp1的参数
@p2 类型,
......
as
create table #tmp(字段1 类型,........) //与sp1返回表结构相同
insert #tmp exec sp1 @p1,@p2,........
select (select [用户名] from A where ID=A.用户ID),* from #tmp A
drop table #tmp
go
@p1 类型, //参数是sp1的参数
@p2 类型,
......
as
create table #tmp(字段1 类型,........) //与sp1返回表结构相同
insert #tmp exec sp1 @p1,@p2,........
select (select [用户名] from A where ID=A.用户ID),* from #tmp A
drop table #tmp
go
#2
楼上大哥,要是存储过程sp1返回的是*的话,也就是说它返回的字段名字不确定的话,那create table #tmp(字段1 类型,........)的括号中有该怎么写呢??
还有,要是一个ID在A表中对应了多篇文章,那么"select [用户名] from A where ID=A.用户ID"这句话又没有问题呢??是不是应该为"select [用户名] from B where ID=A.用户ID"??
谢谢!!!
还有,要是一个ID在A表中对应了多篇文章,那么"select [用户名] from A where ID=A.用户ID"这句话又没有问题呢??是不是应该为"select [用户名] from B where ID=A.用户ID"??
谢谢!!!
#3
存储过程sp1可以输出多条记录?请问结果是怎么输出的!!
#4
create procedure sp2
@p1 Varchar(250)
as
Exec('Select a.ID,a.用户名,b.发表文章,b.发表时间 From a inner Join b on a.id = b.id Where ' +@p1 )
Exec sp1 @p1
@p1 Varchar(250)
as
Exec('Select a.ID,a.用户名,b.发表文章,b.发表时间 From a inner Join b on a.id = b.id Where ' +@p1 )
Exec sp1 @p1
#5
你执行一下sp1就可以看到结果集的表结构
A中ID和用户名不是一对一?
A中ID和用户名不是一对一?
#1
create procedure sp2
@p1 类型, //参数是sp1的参数
@p2 类型,
......
as
create table #tmp(字段1 类型,........) //与sp1返回表结构相同
insert #tmp exec sp1 @p1,@p2,........
select (select [用户名] from A where ID=A.用户ID),* from #tmp A
drop table #tmp
go
@p1 类型, //参数是sp1的参数
@p2 类型,
......
as
create table #tmp(字段1 类型,........) //与sp1返回表结构相同
insert #tmp exec sp1 @p1,@p2,........
select (select [用户名] from A where ID=A.用户ID),* from #tmp A
drop table #tmp
go
#2
楼上大哥,要是存储过程sp1返回的是*的话,也就是说它返回的字段名字不确定的话,那create table #tmp(字段1 类型,........)的括号中有该怎么写呢??
还有,要是一个ID在A表中对应了多篇文章,那么"select [用户名] from A where ID=A.用户ID"这句话又没有问题呢??是不是应该为"select [用户名] from B where ID=A.用户ID"??
谢谢!!!
还有,要是一个ID在A表中对应了多篇文章,那么"select [用户名] from A where ID=A.用户ID"这句话又没有问题呢??是不是应该为"select [用户名] from B where ID=A.用户ID"??
谢谢!!!
#3
存储过程sp1可以输出多条记录?请问结果是怎么输出的!!
#4
create procedure sp2
@p1 Varchar(250)
as
Exec('Select a.ID,a.用户名,b.发表文章,b.发表时间 From a inner Join b on a.id = b.id Where ' +@p1 )
Exec sp1 @p1
@p1 Varchar(250)
as
Exec('Select a.ID,a.用户名,b.发表文章,b.发表时间 From a inner Join b on a.id = b.id Where ' +@p1 )
Exec sp1 @p1
#5
你执行一下sp1就可以看到结果集的表结构
A中ID和用户名不是一对一?
A中ID和用户名不是一对一?