进来看一下,顶着有分,告急

lzgvcd 2004-07-20 10:00:00
CREATE PROCEDURE dt_backupdata AS
declare @backdate datetime
select backdate=getdate()
backup database 电阻测量 to disk='d:\back\back' + cast (@backdate as varchar)---------------------------
Microsoft SQL-DMO (ODBC SQLState: 42000)
---------------------------
错误 170: 第 4 行: '+' 附近有语法错误。
---------------------------
确定
---------------------------
老是提示这样,请指点菜鸟
...全文
118 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
rezood 2004-07-20
  • 打赏
  • 举报
回复
我也不懂!高手教教啊!!!
zheninchangjiang 2004-07-20
  • 打赏
  • 举报
回复
declare @backdate varchar
declare @backmonth varchar
declare @backday varchar
declare @backdisk varchar
select @backdate=cast(datepart(yyyy,getdate()) as varchar)
select @backmonth=cast(datepart(mm,getdate()) as varchar)
select @backday=cast(datepart(dd,getdate()) as varchar)
select @backdisk='d:\back\back'+@backdate +@backmonth+@backday --少了变量前缀就成了一个查询而不是赋值了
backup database 电阻测量 to disk=@backdisk
backdisk的结果为null这个是什么原因?
lzgvcd 2004-07-20
  • 打赏
  • 举报
回复
declare @backdate varchar
declare @backmonth varchar
declare @backday varchar
declare @backdisk varchar
select backdate=cast(datepart(yyyy,getdate()) as varchar)
select backmonth=cast(datepart(mm,getdate()) as varchar)
select backday=cast(datepart(dd,getdate()) as varchar)
select backdisk='d:\back\back'+@backdate +@backmonth+@backday
backup database 电阻测量 to disk=@backdisk
backdisk的结果为null这个是什么原因?
lzgvcd 2004-07-20
  • 打赏
  • 举报
回复
还是不行
greating 2004-07-20
  • 打赏
  • 举报
回复
CREATE PROCEDURE dt_backupdata1 AS
declare @backdate datetime
declare @back_disk varchar
select backdate=getdate()
select back_disk='d:\jserp\'+cast(@backdate as varchar)
backup database dberp to disk=@back_disk---------------------------
lzgvcd 2004-07-20
  • 打赏
  • 举报
回复
这个必须要这样写吗?(to 程序员)
Limperator 2004-07-20
  • 打赏
  • 举报
回复
EXEC 执行上面的语句
Rotaxe 2004-07-20
  • 打赏
  • 举报
回复
CREATE PROCEDURE dt_backupdata AS
declare @backdate datetime
declare @sql varchar(1000)
select @backdate=getdate()
select @sql='backup database 电阻测量 to disk=''d:\back\back''' + cast (@backdate as varchar)
exec(@sql)
Limperator 2004-07-20
  • 打赏
  • 举报
回复
backup database 电阻测量 to disk='d:\back\back' + convert(varchar(8), getdate(), 112) + replace(convert(varchar(12), getdate(), 114), ':', '')
老宛 2004-07-20
  • 打赏
  • 举报
回复
要用动态语句,用exec来执行
lzgvcd 2004-07-20
  • 打赏
  • 举报
回复
这个是正确的结果,刚才没有把变量的标志加上,不好意思,谢谢大家了
lzgvcd 2004-07-20
  • 打赏
  • 举报
回复
declare @backdate varchar
declare @backmonth varchar
declare @backday varchar
declare @backdisk varchar(100)
select @backdate=cast(datepart(yyyy,getdate()) as varchar)
select @backmonth=cast(datepart(mm,getdate()) as varchar)
select @backday=cast(datepart(dd,getdate()) as varchar)
select @backdisk='d:\back\back'+@backdate +@backmonth+@backday
select @backdisk

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧