use master
godeclare @test varchar;
set @test = 'test'
create database @test
on
(   name = @test+'_dat',
filename = 'd:\Data\'+@test+'.mdf',
size = 10
)
log on
( name = @test+'_log',
filename = 'd:\Data\'+@test+'.ldf',
size = 5mb
)
go这样写错在什么地方,请人指点,谢谢!

解决方案 »

  1.   

    use master 
    go declare @test varchar; 
    set @test = 'test' 
    exec('
    create database '+@test+'
    on 
    (   name = '''+@test+'_dat'', 
    filename = '''d:\Data\'+@test+'.mdf'', 
    size = 10 

    log on 
    ( name = '''+@test+'_log'', 
    filename = '''d:\Data\'+@test+'.ldf'', 
    size = 5mb 

    ')
    go 
      

  2.   


    use master 
    go declare @test varchar(10),@sql varchar(500) 
    set @test = 'test' 
    set @sql='create database '+@test +' on 
    (name = '+@test+'_dat,filename = ''d:\Data\'+@test+'.mdf'',size = 10 ) 
    log on ( name = '+@test+'_log, 
    filename = ''d:\Data\'+@test+'.ldf'', 
    size = 5mb)'
    exec(@sql)
    go
      

  3.   

    use master 
    go declare @test varchar(80); 
    set @test = 'test' 
    print '
    create database '+@test+'
    on 
    (   name = '''+@test+'_dat'', 
    filename = ''d:\Data\'+@test+'.mdf'', 
    size = 10 

    log on 
    ( name = '''+@test+'_log'', 
    filename = ''d:\Data\'+@test+'.ldf'', 
    size = 5mb 

    'go 
      

  4.   


    use master 
    go declare @test varchar(10),@sql varchar(500) 
    set @test = 'test' 
    set @sql='create database '+@test +' on 
    (name = '''+@test+'_dat'',filename = ''d:\Data\'+@test+'.mdf'',size = 10 ) 
    log on ( name = '''+@test+'_log'', 
    filename = ''d:\Data\'+@test+'.ldf'', 
    size = 5mb)'
    exec(@sql)