`
insertyou
  • 浏览: 916829 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

临时视图的用法

 
阅读更多
根据日期参数,创建临时视图
用途:多个用时间命名的表的数据查询
ALTER PROCEDURE dbo.up_CreatTempView
(
@Days varchar(4000), --日期(不含时间)
@start_time varchar(5), --起始时间 24:00
@end_time varchar(5), --结束时间 24:00
@query varchar(500),
@fileds varchar(500), --字段
@ViewName varchar(50)=null output
)
AS
begin
DECLARE @SQL varchar(4000)
DECLARE @tmpView varchar(4000)
SET @tmpView=''
---分离字符串@Days
--declare @Days varchar(4000)
declare @T varchar(50) --数据表
declare @tDay varchar(20)
declare @tmpDate DateTime
--set @Days='2006-01-12|2006-02-13|2006-03-15|2006-11-11|2003-01-01|'
--set @tmpDay=''
declare @i int
set @i=0
while @i<len(@Days)
begin
set @i=@i+1
if SUBSTRING(@Days,@i,1)='|'
begin
set @tDay=left(@Days,@i-1) --已经分离出的日期
--格式化 @tDay日期 2006-01-02 to 20060102
set @tmpDate=cast(@tDay AS DateTime)
-----组合表名
SET @T=DATEPART(YYYY,@tmpDate)
if DATEPART(MM,@tmpDate)<10
set @T=@T+'0'+cast(DATEPART(MM,@tmpDate) as char(1))
else
set @T=@T+CAST(DATEPART(MM,@tmpDate) AS CHAR(2))
if DATEPART(DD,@tmpDate)<10
set @T=@T+'0'+cast(DATEPART(DD,@tmpDate) as char(1))
else
set @T=@T+CAST(DATEPART(DD,@tmpDate) AS CHAR(2))
SET @T='FACT_'+@T
---------

set @Days=SUBSTRING(@Days,@i+1,len(@Days))--剩下的日期字符串
set @i=0
--检测@tmpDay 这一天,是否存在数据
--set @tmpDay='FACT_'+
-- print @tmpDay
if exists (select * from sysobjects where id = object_id(@T) and OBJECTPROPERTY(id, 'IsUserTable') = 1)
begin
-- print @tmpDay
--存在数据
if len(@tmpView)>0
set @tmpView=@tmpView+' union all select '+@fileds+' from '+@T+' where start_time>='''+@tDay+' '+@start_time+''' and end_time<='''+@tDay+' '+@end_time+''' and '+@query
else
set @tmpView='select '+@fileds+' from '+@T+' where start_time>='''+@tDay+' '+@start_time+''' and end_time<='''+@tDay+' '+@end_time+''' and '+@query
end
--检测//end
end
end
--print @Days
--print @tmpView
---分离字符串//end
if len(@tmpView)>0
begin
--创建一个零时试图
--declare @ViewName varchar(20) --临时视图名
SET @ViewName='tmpV'+cast(DATEPART(YYYY,getDate()) as varchar(4))+
cast(DATEPART(MM,getDate()) as varchar(2))+
cast(DATEPART(DD,getDate()) as varchar(2))+
cast(DATEPART(HH,getDate()) as varchar(2))+
cast(DATEPART(SS,getDate()) as varchar(2))+
cast(DATEPART(MS,getDate()) as varchar(4))
set @tmpView='CREATE VIEW '+@ViewName+ ' as '+@tmpView
--print @tmpView
exec(@tmpView)
--临时视图创建完毕
return 1
end
else
begin
set @ViewName='' --没有数据,无法创建视图
return -1
end
--exec('select '+@fileds+' from '+@vName)
--exec('drop view '+@vName)
end
分享到:
评论

相关推荐

    oracle带参数视图

    我们也可以使用临时表来实现参数视图。首先,创建一个临时表: ```sql CREATE GLOBAL TEMPORARY TABLE M_TEMP_TABLE ( COL1 VARCHAR2(10 BYTE), COL2 VARCHAR2(80 BYTE), COL3 VARCHAR2(16 BYTE) ) ON COMMIT ...

    sql Server 视图管理

    #### 二、创建视图的方法 1. **使用视图设计器创建视图**:这是一种图形化界面操作方式,通过企业管理器中的视图设计器,用户可以直观地设计视图结构,包括选择源表、字段以及设置过滤条件等。 2. **使用企业管理...

    MFC对话框上添加视图

    4. 实现视图插入:在对话框类的OnCreate()函数中,我们通过调用CWnd::CreateView()或CWnd::InsertView()方法来创建并插入视图。这两个函数都需要视图类的类指针、父窗口(即对话框对象)和在对话框资源中定义的控件...

    ios 多视图切换

    同时,可以考虑使用`NSCache`而非`NSDictionary`存储临时数据,因为`NSCache`会在内存不足时自动清空。 6. **懒加载**:为了优化性能,视图控制器中的视图和数据可以采用懒加载策略,即只有在真正需要时才加载。这...

    iOS 弹出视图

    在iOS开发中,弹出视图(Popup View)是一种常见的用户界面元素,它可以在主界面之上显示临时的信息、选项或操作。这种设计模式通常用于显示警告、确认对话框或者提供额外的功能选择。本文将深入探讨iOS中实现弹出...

    常用的oracle表和视图

    对于查找存储过程依赖的序列,可以使用类似的查询方法: ```sql SELECT DE.REFERENCED_NAME FROM USER_DEPENDENCIES DE WHERE DE.NAME = 'BI_OPER_REPORT' AND DE.REFERENCED_TYPE = 'SEQUENCE'; ``` 这里的`...

    oracle动态视图文档(详细版)

    2. **创建动态视图**:介绍如何通过SQL语句创建动态视图,包括定义视图结构、引用其他表和视图、使用子查询等方法。 3. **查询动态视图**:讨论如何在SQL查询中使用动态视图,以及如何结合WHERE子句、JOIN操作和...

    临时禁用大型列表上的列表视图阈值

    1. **使用DBCC SETROWCOUNT**:这是一个临时改变行限制的方法,但不直接针对列表视图阈值。你可以通过`DBCC SETROWCOUNT(n)`命令来限制返回的最大行数,其中n是你要设定的行数。但是,一旦查询完成,这个设置就会...

    子视图切换

    而`present(_:animated:completion:)`方法可以模态地显示一个新的视图控制器,这在需要临时显示新内容时非常有用。 7. **协议和代理**:在切换视图时,经常需要在不同的视图控制器之间进行通信。这可以通过遵守协议...

    ios-工具类自定义带箭头弹出视图.zip

    这个组件的使用方法简单,能够方便地集成到各种项目中,并且可以模仿微信、网易云音乐等流行应用的弹出视图样式,提升应用的交互一致性。 弹出视图通常包含一个主视图和一个触发器,当用户点击触发器时,弹出视图会...

    ios-导航条弹出视图.zip

    在iOS中,弹出视图通常用来显示临时信息或提供额外的操作选项,它们可以是警告对话框、动作表、自定义视图等。PopupView库可能提供了自定义导航条弹出视图的灵活性,允许开发者根据应用需求设计不同形状、大小和动画...

    iPhone开发【八】多视图技术总结之一:ModalView(模态视图)

    首先,模态视图(Modal View)是一种在当前视图之上显示一个新的临时视图的方式,通常用于展示临时信息、进行用户交互或请求确认。这种视图会完全覆盖底部视图,吸引用户的全部注意力,直到用户完成操作或关闭模态...

    Oracle10g视图的神图

    ### Oracle 10g 视图详解 #### 引言 在Oracle 10g数据库中,视图作为数据字典的重要组成部分,为系统管理员、开发者以及用户提供了丰富的信息...掌握这些视图的使用方法,可以极大地提高数据库系统的性能和稳定性。

    IOS应用源码之多种视图切换方式集锦 .rar

    - 使用`pushViewController:animated:`方法将新的视图控制器推入导航栈,`popViewController:animated:`或`popToRootViewControllerAnimated:`方法则用于返回到前一个或根视图控制器。 2. **UITabBarController**...

    定制视图与触摸事件

    在onTouchEvent()中,我们还需要确保在ACTION_DOWN和ACTION_MOVE时,更新矩形框的临时位置,并在ACTION_UP时调用invalidate()方法来触发视图的重绘。重绘时,我们会在onDraw()方法中根据记录的信息绘制矩形框: ```...

    特效弹出视图

    在iOS开发中,实现这样的特效弹出视图可以有多种方法,其中最常用的是使用`UIPopoverController`(在iPad上)和`UIAlertController`(在iPhone和iPad上),但这些内置组件可能无法满足所有自定义需求,比如动画效果...

    第11章 数据库视图PPT

    11.2.1 **创建视图的语法形式**:创建视图使用`CREATE VIEW`语句,可以包含`OR REPLACE`选项来替换已存在的视图,还可以指定`ALGORITHM`(默认、合并或临时表)来定义处理视图的方式。 11.2.2 **在单表上创建视图**...

    Oracle数据库管理员经常使用的表和视图

    ### Oracle数据库管理员经常使用的表和视图 在Oracle数据库中,表和视图是数据库管理员进行日常维护和监控的重要工具。这些系统表和视图包含了关于...熟练掌握这些表和视图的使用方法,对于Oracle DBA来说至关重要。

    弹出视图源代码

    在iOS应用开发中,弹出视图是一种常见的交互设计,用于提供临时的用户操作选项或者显示额外信息。这种设计通常会模拟类似Tumblr发布按钮的效果,即点击后从屏幕底部或某个角落滑动出来,完成任务后再平滑地缩回。在...

Global site tag (gtag.js) - Google Analytics