SQL SERVER 2008 存储过程 --跨表查询(例)
来源:互联网 发布:网络小手分享论坛社区 编辑:程序博客网 时间:2024/06/05 23:00
SQL SERVER数据库项目中用到了对自动生成的表的查询。
表的命名规律如 T_His20141021 即 T_Hisyyyymmdd
由于这些表都是通过模板T_History表生成的,故自动生成的这些表的字段类型和长度都与表T_History一样。
USE [mydatabase]GO/****** Object: StoredProcedure [dbo].[P_DataSearch] Script Date: 10/21/2014 15:27:47 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Author:<XXX>-- Create date: <2014-mm-dd>-- Description:<查询历史数据信息>-- =============================================ALTER PROCEDURE [dbo].[P_GetHistoryDataTable]-- Add the parameters for the stored procedure here @inid varchar(10),@start datetime,@end datetimeASBEGIN-- SET NOCOUNT ON added to prevent extra result sets from-- interfering with SELECT statements.SET NOCOUNT ON;declare @sql varchar(max), @num int,@i intselect @num=datediff(DAY, @start, @end)--select @numselect number, [date]=convert(char(8), dateadd(DAY, number, @start), 112) into #tempfrom(select top(datediff(DAY, @start, @end)+1) numberfrom master..spt_valueswhere type = 'p') T set @sql='select ins.insname,his.dtime,his.dvalue from T_Intimes ins,T_History his where ins.inid=his.isid and ins.inid='''+@inid+''' ' set @i=0while @i<=@num BEGINdeclare @temday varchar(20) begin select @temday=[date] from #temp where number=@i IF EXISTS (SELECT * FROM dbo.SysObjects WHERE ID = object_id(N'T_His'+@temday) AND OBJECTPROPERTY(ID, 'IsTable') = 1) begin set @sql+=' union select ins.insname,his.dtime,his.dvalue from T_Intimes ins,T_His'+@temday+' his where ins.inid=his.isid and ins.inid='''+@inid+''' ' end end set @i=@i+1 ENDset @sql+=' order by dtime' drop table #temp-- print @sqlexec (@sql)END
注:直接创建此存储过程时,需要将代码中的“ALTER ”改为“CREATE”
0 0
- SQL SERVER 2008 存储过程 --跨表查询(例)
- sql server 查询某个表被哪些存储过程调用
- sql server 存储过程 实现模糊查询
- 多条件查询存储过程-SQL Server
- SQL Server 分页查询存储过程代码
- sql server 查询存储过程定义
- SQL Server 分页查询通用存储过程
- 一条SQL语句查询MS SQL Server数据库中的所有表、存储过程、触发器
- SQL SERVER存储过程
- SQL SERVER存储过程
- Sql Server 存储过程
- SQL Server存储过程
- SQL SERVER 存储过程
- SQL Server 存储过程
- SQL Server存储过程
- SQL Server存储过程
- SQL Server 存储过程
- SQL Server 存储过程
- Socket参数
- Android 图片拖拽、放大缩小的自定义控件
- Linux 虚拟内存和物理内存的理解
- 转发和重定向的本质区别
- 卸载oracle PSU方法(手动及自动)
- SQL SERVER 2008 存储过程 --跨表查询(例)
- Android开发相关资源下载
- 解剖linux内核之工具
- sql server2008安装时提示重启计算机失败怎么办
- 发一个创业公司的面经吧-- 豌豆荚
- 交作业 php100 第七讲 遍历目录下所有文件、文件夹
- GNS3 配置ASA模拟器
- [Android] APK反编译详解
- Android 自定义progressDialog实现