手机分类
  导航: 电脑时代在线 · 数据库教程 · MSSQL教程 · Sql2000实例技巧
有问题吗?看 疑难解答 电脑术语

运用存储过程按月建数据表

 
硬件盘点
手机推荐
 
『运用存储过程按月建数据表』如果文章有大量图片,显示会较慢,请等待图片下载完成
 
点击数: 更新时间:2005-7-12 


   
        为了方便数据库的存储、数据的备份、恢复,在实际建库中,我们希望能够根据具体的年月建立数据表,例如,事件表我们可以建立为EV_yyyymm(yyyy为年份,mm为月份),使用存储过程可以解决动态建表。(源代码如下:)

****************************************************
***                存储过程原码                  ***
****************************************************

====生成表的存储过程prCreateDateTable===
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

ALTER             PROCEDURE prCreateDateTable
AS  
--初始化  
    DECLARE @intErrorCode int,         --错误号,成功显示0
   @dtmCheckDay datetime,     --系统当前时间
   @str varchar(40),@SubStr varchar(10),
   @chrnSQL nvarchar(1000)   --SQL查询语句
    DECLARE @chvSuffixTableName  varchar(50),     --表名称的日期后缀
    @chvFinalTableName1 varchar(40),        --待检测的表名称
    @chvFinalTableName2 varchar(40),
    @chvFinalTableName3 varchar(40),
    @chvFinalTableName4 varchar(40),
    @chvFinalTableName5 varchar(40),
    @chvFinalTableName6 varchar(40),
    @chvFinalTableName7 varchar(40),
    @chvFinalTableName8 varchar(40)

    SELECT @dtmCheckDay = getdate()
    SELECT @chvSuffixTableName = dbo.fnFormatDate_month(@dtmCheckDay)   ---取格式化后的月用到自定义函数

    SELECT @chvFinalTableName1  = 'EV_' + '_' + @chvSuffixTableName 

    --查询有无@chvTableName_XXXXXX(年月),即@chvFinalTableName表,如果没有则建立
BEGIN
 IF NOT EXISTS (SELECT * FROM sysobjects WHERE NAME = @chvFinalTableName1 AND xtype='U')    -- 事件表
    BEGIN
     SELECT @chrnSQL=' CREATE TABLE [dbo].['+ @chvFinalTableName8 +']( '
      +'[EVID] [char] (12) COLLATE Chinese_PRC_CI_AS NOT NULL ,'
      +'[StarTime] [datetime] NOT NULL ,'
      +'[StarStake] [varchar] (9) COLLATE Chinese_PRC_CI_AS NOT NULL ,'
      +'[EndStake] [varchar] (9) COLLATE Chinese_PRC_CI_AS NOT NULL ,'
      +'[Direcation] [char] (1) COLLATE Chinese_PRC_CI_AS NOT NULL ,'
      +'[EvType] [varchar] (3) COLLATE Chinese_PRC_CI_AS NOT NULL ,'
      +'[EndTime] [datetime] NULL ,'
      +'[Description] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL ,'
      +'[Advice] [varchar] (200) COLLATE Chinese

[1] [2] 下一页  


如果您有什么疑问,可以至论坛提出或者解答他人的疑问   返回页面顶部

】【关闭窗口
·上一篇教程:
·下一篇教程:
·导航: 电脑时代在线 · 数据库教程 · MSSQL教程 · Sql2000实例技巧
相关文章
 
搞笑自拍|图片故事|美女图库|体坛宝贝|明星爆料|世界奇观|风光摄影|历史回忆|大千世界
Photshop超炫图片
advertisement
关于站点 - 广告服务 - 联系我们 - 版权隐私 - 免责声明 - 合作伙伴 - 程序支持 - 网站地图 - 返回顶部  
网站文本地图
  版权所有:电脑时代在线 2005-2007 欢迎各种媒体转载我们的原创作品[转载请注明出处]
copyright © 2005-2007 www.PCvz.com online services. all rights reserved. 蜀ICP备05015578
Template designed by LaoJiang. Optimized for 1024x768 to Firefox,Opera and MS-IE. Site powered by EQL.
红盾
热爱电脑,热爱生活
拥有电脑,拥有生命
让我们享受拥有电脑的时光