create proc test
as
declare @a varchar(12)
set @a=convert(varchar,getdate(),112)
exec('select * into table_'+@a+' from TableName')

解决方案 »

  1.   

    create proc test
    as
    declare @a varchar(10)
    set @a=convert(varchar(10),getdate(),120)
    exec('Create table TableName_'+@a +'(id int,........)')
      

  2.   

    1、你的数据库服务器-》企业管理器-》管理-》SQL Server 代理-》作业-》新建作业,按照要求填就可以了,在“步骤”的“命令”中填写你要执行的存储过程或语句,在“调度”里面填写什么时间执行
    2、在命令里写入:declare @年月 char(6)
    set @年月=convert(char(6),getdate(),112)
    exec('select x1,x2,sum(x3) x3,count(*),x4 into ['+@年月+'统计表] from 你的表 group by x1,x2')
      

  3.   

    OK,Thanks,一会给分!
    再问一下:
    如果按条件,执行不同的存储过程,怎样把不同存储过程的结果返回来?
    还是可以直接取到呢?
    CREATE PROCEDURE PRO1 AS
    CREATE TABLE #tt1
    ...
    CREATE PROCEDURE PRO2 AS
    CREATE TABLE #tt2
    ...
    在PRO里面调用执行PRO1和PRO2,取他们执行的结果生成新表table
    CREATE PROCEDURE PRO AS
    CREATE TABLE table
    条件1
       EXE PRO1
    条件2
       EXE PRO2
    ...
    请问一下这样可以吗???以前没有写过存储过程。请各位指教!
      

  4.   


    create proc proc1 @para1 char(1) output 
    as 
    ……create proc proc2 @para1 char(1) output 
    as 
    ……
    create proc proc3 
    as 
    declare @para2 char(1)
    select @para=值
    exec proc1 @para2 output
    if @para2=条件
       create table new
       ……
    select @para=值
    exec proc2 @para2 output
    if @para2=条件
       create table new
       ……