求满足条件的记要逐行执行存储过程
求满足条件的记录逐行执行存储过程
例如
table1
a b c
1 王珉 34
2 张明 54
3 王丽 74
比如后两条记录是满足条件的
分别执行一个存储过程
PROCEDURE1
这个存储过程需要两个参数 就是 table1的b和c字段
把这个功能做成存储过程该怎么写
------解决思路----------------------
请问执行存储过程输出什么样的结果?楼主可以考虑用户自定义函数是否能满足要求
------解决思路----------------------
create proc proc_a
as
IF OBJECT_ID('tempdb..#temp') IS NOT NULL DROP TABLE #temp;
create table #temp
(
id int IDENTITY(1,1),
a int,
b varchar(10),
c varchar(10)
)
insert into #temp (a,b,c)
select * from table1
declare @allcount int
declare @m = 1
declare @a int ,@b varchar(10)
select @allcount = count(1) from #temp
while (@m<=@allcount )
begin
select @a =a,@b=b
from #temp where id = @m
exec PROCEDURE1 @a ,@b --你的存储过程
set @m = @m+1
end
大概就是 这样 没有调试
------解决思路----------------------
楼上的方法可行,或者用游标
------解决思路----------------------
create proc PROCEDURE11
as
begin
create table #table1(aa bigint identity(1,1),bb varchar(20),cc varchar(20))
insert into #table1(bb,cc)
select top 2 b,c from table1 order by a desc
if((select * from #table1) is not null)
exec PROCEDURE1 1
end
例如
table1
a b c
1 王珉 34
2 张明 54
3 王丽 74
比如后两条记录是满足条件的
分别执行一个存储过程
PROCEDURE1
这个存储过程需要两个参数 就是 table1的b和c字段
把这个功能做成存储过程该怎么写
------解决思路----------------------
请问执行存储过程输出什么样的结果?楼主可以考虑用户自定义函数是否能满足要求
------解决思路----------------------
create proc proc_a
as
IF OBJECT_ID('tempdb..#temp') IS NOT NULL DROP TABLE #temp;
create table #temp
(
id int IDENTITY(1,1),
a int,
b varchar(10),
c varchar(10)
)
insert into #temp (a,b,c)
select * from table1
declare @allcount int
declare @m = 1
declare @a int ,@b varchar(10)
select @allcount = count(1) from #temp
while (@m<=@allcount )
begin
select @a =a,@b=b
from #temp where id = @m
exec PROCEDURE1 @a ,@b --你的存储过程
set @m = @m+1
end
大概就是 这样 没有调试
------解决思路----------------------
楼上的方法可行,或者用游标
------解决思路----------------------
create proc PROCEDURE11
as
begin
create table #table1(aa bigint identity(1,1),bb varchar(20),cc varchar(20))
insert into #table1(bb,cc)
select top 2 b,c from table1 order by a desc
if((select * from #table1) is not null)
exec PROCEDURE1 1
end