我想在SQL Server 2012中创建一个返回临时表的存储过程。
我的代码是
CREATE PROC [dbo].[aac_trial_balance_data]
@company_code char(5),
@target_level int,
@StartDate char(12),
@EndDate char(12)
AS
BEGIN
SELECT
dbo.getParentCode(chart_code,@target_level,LEVEL) chart_code,
level,
SUM(debit) debit,
SUM(credit) credit
FROM
acc_trial_balance_vw
WHERE
convert(datetime, create_date, 103) between convert(datetime, cast(@StartDate as datetime), 103)
and convert(datetime, cast(@EndDate as datetime) + '23:59:59', 103)
AND company_code = @company_code
GROUP BY
chart_code, LEVEL
END
我想在查询之后创建一个Temp表,如
CREATE PROC [dbo].[aac_trial_balance_data]
@company_code char(5),
@target_level int,
@StartDate char(12),
@EndDate char(12)
AS
BEGIN
(select
dbo.getParentCode(chart_code,@target_level,LEVEL) chart_code,
level,
SUM(debit) debit,
SUM(credit) credit
from acc_trial_balance_vw
where
convert(datetime,create_date,103) between convert(datetime, cast(@StartDate as datetime) , 103)
and convert(datetime, cast(@EndDate as datetime)+'23:59:59' , 103)
and company_code = @company_code
GROUP BY chart_code, LEVEL
)
AS
#TEMP-TABLE -- This is my Temp Table That i want to create
END
id怎么做呢
答案 0 :(得分:2)
你可以创建临时表,只需使用
select
dbo.getParentCode(chart_code,@target_level,LEVEL) chart_code,
level,
SUM(debit) debit,
SUM(credit) credit into #tempTable
from acc_trial_balance_vw
where
convert(datetime,create_date,103) between convert(datetime, cast(@StartDate as datetime) , 103)
and convert(datetime, cast(@EndDate as datetime)+'23:59:59' , 103)
and company_code = @company_code
GROUP BY chart_code, LEVEL
或使用select into #temp like
byte[]
答案 1 :(得分:0)
试试这个:
(select
dbo.getParentCode(chart_code,@target_level,LEVEL) chart_code,
level,
SUM(debit) debit,
SUM(credit) credit
INTO #THIS_TEMP_TABLE
from acc_trial_balance_vw
where
convert(datetime,create_date,103) between convert(datetime, cast(@StartDate as datetime) , 103)
and convert(datetime, cast(@EndDate as datetime)+'23:59:59' , 103)
and company_code = @company_code
GROUP BY chart_code, LEVEL)
SELECT * FROM #THIS_TEMP_TABLE
Drop table #THIS_TEMP_TABLE
答案 2 :(得分:0)
尝试在into #temptable
dbname
from acc_trial_balance_vw
CREATE PROC [dbo].[aac_trial_balance_data]
@company_code char(5),
@target_level int,
@StartDate char(12),
@EndDate char(12)
AS
BEGIN
(select
dbo.getParentCode(chart_code,@target_level,LEVEL) chart_code,
level,
SUM(debit) debit,
SUM(credit) credit
into #TEMPTABLE -->>> Inserting here
from acc_trial_balance_vw
where
convert(datetime,create_date,103) between convert(datetime, cast(@StartDate as datetime) , 103)
and convert(datetime, cast(@EndDate as datetime)+'23:59:59' , 103)
and company_code = @company_code
GROUP BY chart_code, LEVEL
)
AS
END
答案 3 :(得分:0)
create table #temp(company_code char(5),target_level int,StartDate char(12))
insert into #temp('','','')
select * from #temp
答案 4 :(得分:0)
select
dbo.getParentCode(chart_code,@target_level,LEVEL) chart_code,
level,
SUM(debit) debit,
SUM(credit) credit
from acc_trial_balance_vw
where
convert(datetime,create_date,103) between convert(datetime, cast(@StartDate as datetime) , 103)
and convert(datetime, cast(@EndDate as datetime)+'23:59:59' , 103)
and company_code = @company_code
GROUP BY chart_code, LEVEL