国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

應(yīng)用存儲過程按月建數(shù)據(jù)表

2024-07-21 02:07:00
字體:
供稿:網(wǎng)友

        為了方便數(shù)據(jù)庫的存儲、數(shù)據(jù)的備份、恢復(fù),在實際建庫中,我們希望能夠根據(jù)具體的年月建立數(shù)據(jù)表,例如,事件表我們可以建立為ev_yyyymm(yyyy為年份,mm為月份),使用存儲過程可以解決動態(tài)建表。(源代碼如下:)

****************************************************
***                存儲過程原碼                  ***
****************************************************

====生成表的存儲過程prcreatedatetable===
set quoted_identifier off
go
set ansi_nulls off
go

alter             procedure prcreatedatetable
as  
--初始化  
    declare @interrorcode int,         --錯誤號,成功顯示0
   @dtmcheckday datetime,     --系統(tǒng)當(dāng)前時間
   @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)   ---取格式化后的月用到自定義函數(shù)

    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_prc_ci_as null ,'
      +'[econloss] [int] null ,'
      +'[deathtoll] [tinyint] null, '
      +' constraint '+ @chvfinaltablename8 +'_pk '+' primary key clustered ([evid])  on [primary]'
      +')  on [primary]'
           exec sp_executesql @chrnsql
  end
end;

go
set quoted_identifier off
go
set ansi_nulls on
go

===得到日期的自定義函數(shù)====
set quoted_identifier on
go
set ansi_nulls on
go

alter  function fnformatdate_month (@date datetime)
returns  varchar(50)
as 
begin
 declare @intdateyear int,    ---需要處理數(shù)據(jù)的年份
   @intdatemonthno int         ---需要處理數(shù)據(jù)的月份
 declare @chvmonthno varchar(10) ,
   @chvtablename  varchar(50)

 select @intdateyear = year(@date )
 select @intdatemonthno = month(@date)select  @chvmonthno='00'+convert(varchar(2),@intdatemonthno)
 select  @chvmonthno=substring(@chvmonthno,len(@chvmonthno)-1 ,2
 select  @chvtablename=convert(varchar(4),@intdateyear)[email protected]
 return (@chvtablename)
end

go
set quoted_identifier off
go
set ansi_nulls on
go
============================================================

剛畢業(yè),做軟件,初學(xué)使用存儲過程。
菜鳥學(xué)堂:
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 枞阳县| 锡林浩特市| 宝应县| 新郑市| 乌拉特后旗| 都昌县| 收藏| 商南县| 福鼎市| 蕉岭县| 乌拉特后旗| 盐边县| 保山市| 荥阳市| 蒙阴县| 南溪县| 陇西县| 喜德县| 简阳市| 鹤岗市| 正蓝旗| 河池市| 德惠市| 札达县| 宽城| 柘城县| 西城区| 连平县| 大化| 颍上县| 沁阳市| 筠连县| 连州市| 上杭县| 河北区| 莒南县| 濮阳县| 广安市| 松滋市| 商城县| 桑日县|