sql server 2012在存储过程上创建临时视图

时间:2015-09-14 06:57:54

标签: sql sql-server sql-server-2012

是否可以在过程中创建视图(临时)。 可能意味着它会使数据库过载。

请建议我,是另一种方法。

我需要根据条件合并所有表格制作pdf文件。

create procedure sp1
as
begin

create view temp_view as (select * from tabl_1
        union all
        select * from tabl_2
        union all
        select * from tabl_3
        union all
        select * from tabl_4
        union all
        select * from tabl_5
        union all
        select * from tabl_6
        union all
        select * from tabl_7
        union all
        select * from tabl_8)cte;
select col1,col2,col3 from temp_view where col1=val;
drop view temp_view;
end

1 个答案:

答案 0 :(得分:0)

您可以执行以下步骤(不创建视图):

1.创建一个缓存表来存储这些表中的所有记录 2.创建一个作业(SP)或触发器以定期间隔(比如10分钟)填充缓存表 3.使用报告SP中的缓存表。它将始终为您提供更新的报告