javad_mjt
سه شنبه 11 آبان 1389, 22:20 عصر
سلام و خسته نباشید
من می خوام از خروجی که با استفاده از with تولید میشه چند بار select بگیریم از دوستان ممنون میشم راهنماییم کنند.
به طور مثال می خوام عمل زیر رو انجام بدم که امکان پذیر نیست
create proc myproc
as
@a int,@b int,@c int,@d int,@e int,@f int
declare @rowcount int;
with cte as (select * from myfunc(@a,@b,@c,@d,@e,@f))
)
select * from cte
select @rowcount=Count(*)from cte
و مجبورم کدم و به این شکل زیر بنویسم که فکر می کنم با فرض اینکه myfunc یک عملیات خیلی سنگین رو روی بانک انجام می دهد یه عملیات سنگین روی بانک رو که میشه یه بار انجام داد و دو بار انجام میدم
create proc myproc
@a int,@b int,@c int,@d int,@e int,@f int
as
declare @rowcount int;
with cte as (select * from myfunc(@a,@b,@c,@d,@e,@f))
)
select * from cte
select @rowcount=Count(*)from myfunc(@a,@b,@c,@d,@e,@f)
من می خوام از خروجی که با استفاده از with تولید میشه چند بار select بگیریم از دوستان ممنون میشم راهنماییم کنند.
به طور مثال می خوام عمل زیر رو انجام بدم که امکان پذیر نیست
create proc myproc
as
@a int,@b int,@c int,@d int,@e int,@f int
declare @rowcount int;
with cte as (select * from myfunc(@a,@b,@c,@d,@e,@f))
)
select * from cte
select @rowcount=Count(*)from cte
و مجبورم کدم و به این شکل زیر بنویسم که فکر می کنم با فرض اینکه myfunc یک عملیات خیلی سنگین رو روی بانک انجام می دهد یه عملیات سنگین روی بانک رو که میشه یه بار انجام داد و دو بار انجام میدم
create proc myproc
@a int,@b int,@c int,@d int,@e int,@f int
as
declare @rowcount int;
with cte as (select * from myfunc(@a,@b,@c,@d,@e,@f))
)
select * from cte
select @rowcount=Count(*)from myfunc(@a,@b,@c,@d,@e,@f)