zoukankan      html  css  js  c++  java
  • SQL自动创建表和自动插入字段实例

    USE [UMoney]
    GO
    /****** Object:  StoredProcedure [dbo].[WCL_WorkerStatDailyWrite]    Script Date: 10/08/2013 14:28:26 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ------------------------------------
    --用途:根据日期生成用户个人信息日统计表并插入数据
    --王朝理
    --时间:2013/10/6 18:02:53
    ------------------------------------
    ALTER proc [dbo].[WCL_WorkerStatDailyWrite]
    @WorkerID bigint
    as  
    begin tran  
    set nocount on  
    
    declare @tb_name nvarchar(100),@sql nvarchar(1000)  
     declare @cou int 
    -- 表的名称  
    set @tb_name='WorkerStatDaily'+REPLACE(CONVERT(VARCHAR(10),GETDATE(),120),'-','')
     
    -- 如果表不存在,就建立表  
    if not exists(select 1 from sysobjects where name=@tb_name and xtype='U')  
    begin  
       set @sql='create table dbo.['+@tb_name+']([ID] [bigint]  IDENTITY (1, 1)  NOT NULL,
    [WorkerID] [bigint]  NULL,
    [StatDate] [datetime]  NULL,
    [FinishedTask] [int]  NULL,
    [NewTaskCount] [int]  NULL,
    [GetPoint] [int]  NULL,
    [SubWorkers] [int]  NULL,
    [OnlineHours] [int]  NULL,
    [SignFlag] [int]  NULL)'  
       --print @sql  
       exec(@sql)  
    end  
    set @sql=  N'select top 1 @WorkerID2=WorkerID from  ['+@tb_name+'] where WorkerID=@WorkerID and DATEDIFF(day,StatDate,GETDATE())=0'
    exec sp_executesql @sql, N'@WorkerID2 int out,@WorkerID bigint', @cou out ,@WorkerID
    
    IF ISNULL(@cou,'')=''
    BEGIN
    set @sql='insert into  ['+@tb_name+'] values ('+convert(varchar,@WorkerID)+','''+convert(varchar,GETDATE())+''',0,0,0,0,0,0)'  
    exec(@sql)
    END  
    
    set nocount off  
    commit tran  
  • 相关阅读:
    Java实战项目收集
    Drebin数据集
    网络“法官”
    沉醉
    孔方兄
    《Qt 5.9 C++开发指南》例程源码
    《论语》中那些耳熟能详的词汇
    破祟
    Qt使用UI编辑器添加的控件Icon运行时不显示
    Ubuntu格式化SD卡
  • 原文地址:https://www.cnblogs.com/yeye518/p/3357039.html
Copyright © 2011-2022 走看看