注册 登录
编程论坛 SQL Server论坛

请求帮助!

hyf116 发布于 2008-09-26 14:28, 782 次点击
在创建数据库时能否把路径和数据库名用变量?
能的话具体怎么来写,希望帮我修改下!谢谢大家帮助!!!
declare @name char(12),@lj char(20)                  
select @name='12'
select @lj='e:\'
create database  @name
on
(name=@name_data,   
filename='@lj\@name_data1.mdf,
size=10,
filegrowth=10%)
go

特别时路径,能否把两个变量和_data1.mdf连起来
4 回复
#2
卜酷塔2008-09-26 15:15
create   proc   createDatabase   @path   varchar(50)   
  as   
   
  declare   @s   varchar(8000)   
  set   @s   =   '   
  create   database   YHERP   
  on   
  (   
  name=YHERP_DAT,   
  filename=   '''   +   @path   +   '\YHERPDAT.mdf'',   
  size=3,   
  maxsize=10,   
  filegrowth=1   
  )   
  log   on   
  (   
  name=YHERP_LOG,   
  filename='''   +   @path   +   '\YHERPDAT.ldf'',     
  size=1,   
  maxsize=10,   
  filegrowth=1   
  )'   
   
  print   @s         --检查打印出的SQL是否正确   
   
  exec   (@s)   
   
   
  go

楼主可以根据这个来修改一下
#3
hyf1162008-09-26 16:01
先谢谢版主的帮助
我试了下, filename=   '''   +   @path   +   '\YHERPDAT.mdf''  不行
 我想知道在数据库名和路径本怎么写变量,是不是 '+@path+  '就可以了!
如我定义 数据库名    declare   @databasename   varchar(80)
                        
        create   database   @databasename(这个变量具体这么写)
#4
hyf1162008-09-26 22:00
版主再帮帮我!能否回答我下,谢谢了
#5
卜酷塔2008-09-27 12:58
这个存储过程不是可以修改成接收两个参数么,
你接受两个参数就是了。
一个是路径,一个是数据库名字不久可以了吗?
楼主再试试,不行的话我再想别的办法
1