sql server 2012在存储过程中创建临时视图
是否可以在过程上创建视图(临时)。 可能的意思是它使数据库过载。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.创建一个缓存表的所有记录,存储从这些表
2.创建一个作业(SP)或触发以定期填充缓存表(例如10分钟)
3.使用报表SP中的缓存表。它会一直给你更新的报告
这意味着缓存表占用内存。但在极少数情况下,只有我需要调用该视图。 –
其实我是新来的MS SQL服务器。我想你的答案是创建sp1来生成#cahe_tbl表并为#cahe_tbl表设置时间限制。然后创建sp2 step 1->调用sp1,step - > 2选择#cahe_tbl。对? –
如果它罕见的情况下,那么你可以直接使用查询,不需要改变它。 – Biswabid
1)创建一个视图2)然后使用SP内的视图 – wiretext
你想创建一个视图,所有表合并的原因是什么?还有其他方法可以创建数据库的备份! – cfi
也根据条件@cfi –