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  
  • 相关阅读:
    一周见闻速记
    glibc下的内存管理
    流(flow)
    Liunx学习笔记
    逆向工程androidAPK(待补充)
    Ubuntu Linux环境搭建|软件篇
    Ubuntu Linux 源记录
    android 权限
    Android源码下载(ubuntu12.04(amd64))
    游戏外挂编程之神器CE的使用
  • 原文地址:https://www.cnblogs.com/yeye518/p/3357039.html
Copyright © 2011-2022 走看看