CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

存储过程出错!

楼主weifai88(weifai88)2005-12-16 12:20:29 在 MS-SQL Server / 基础类 提问

create   proc   mp_copydata  
  @sdb   varchar   (50),  
  @tdb   varchar   (50),  
  @fm_date   datetime,  
  @to_date   datetime  
  as  
   
  declare   @aa     varchar(30)  
  declare   @bb   varchar(30)  
   
   
   
  set   @aa   =   @sdb   +'.dbo.xy_wk_wagezj'  
  set   @bb   =   @tdb   +'.dbo.xy_wk_wagezj'  
   
  exec   (   '   insert   into     '+@bb+'  
  select   *   from   '+@aa+'    
  where     x_wk_pdate   >=   '+@fm_date+'   and   x_wk_pdate   <=   '+@to_date   +'   ')  
   
  go  
   
   
  exec   mp_copydata  
  @sdb=   'xymis2',  
  @tdb   =   'xyfai',  
  @fm_date   =   '2005-10-01',  
  @to_date   =   '2005-10-31'  
   
  go  
   
   
   
  服务器:   消息   170,级别   15,状态   1,行   3  
  第   3   行:   '1'   附近有语法错误。 问题点数:30、回复次数:9Top

1 楼samfeng_2003(凤翼天翔)回复于 2005-12-16 12:27:59 得分 0

日期类型的数据必须要用引号括起来  
  exec   (   '   insert   into     '+@bb+'  
  select   *   from   '+@aa+'    
  where     x_wk_pdate   >=   '''+@fm_date+'''   and   x_wk_pdate   <=   '''+@to_date   +'''   ')Top

2 楼samfeng_2003(凤翼天翔)回复于 2005-12-16 12:29:13 得分 15

第二个问题,我没有看到有1的存在啊Top

3 楼zjcxc(邹建)回复于 2005-12-16 12:42:09 得分 15

exec   (   '   insert   into     '+@bb+'  
  select   *   from   '+@aa+'    
  where     x_wk_pdate   >=   '''+@fm_date+'''   and   x_wk_pdate   <=   '''+@to_date   +'''   ')  
  Top

4 楼weifai88(weifai88)回复于 2005-12-16 13:27:26 得分 0

create   proc   mp_copydata  
  @sdb   varchar   (50),  
  @tdb   varchar   (50),  
  @fm_date   datetime,  
  @to_date   datetime  
  as  
   
  declare   @aa     varchar(30)  
  declare   @bb   varchar(30)  
   
   
   
  set   @aa   =   @sdb   +'.dbo.xy_wk_wagezj'  
  set   @bb   =   @tdb   +'.dbo.xy_wk_wagezj'  
   
  exec   (   '   insert   into     '+@bb+'  
  select   *   from   '+@aa+'    
  where     x_wk_pdate   >=   '''+@fm_date+'''   and   x_wk_pdate   <=   '''+@to_date+'''   ')  
   
   
  go  
   
   
   
  exec   mp_copydata  
  @sdb=   'xymis2',  
  @tdb   =   'xyfai',  
  @fm_date   =   '2005-10-01',  
  @to_date   =   '2005-10-31'  
   
  go  
   
  将数据类型   varchar   转换为   numeric   时出错。  
  Top

5 楼samfeng_2003(凤翼天翔)回复于 2005-12-16 13:30:28 得分 0

你的数据类型有问题,需要进行cast转化Top

6 楼weifai88(weifai88)回复于 2005-12-16 13:34:13 得分 0

为什么呢,我的   x_wk_pdate   都是DATETIME型的。Top

7 楼weifai88(weifai88)回复于 2005-12-16 13:37:11 得分 0

 
  改成这样:  
   
  create   proc   mp_copydata  
  @sdb   varchar   (50),  
  @tdb   varchar   (50),  
  @fm_date   datetime,  
  @to_date   datetime  
  as  
   
  declare   @aa     varchar(30)  
  declare   @bb   varchar(30)  
   
  set   @aa   =   @sdb   +   '.dbo.xy_wk_wagezj'  
  set   @bb   =   @tdb   +   '.dbo.xy_wk_wagezj'  
   
  exec   (   '   insert   into     '+@bb+'    
  select   *   from   '+@aa+'    
  where     x_wk_pdate   >=   cast   ('+@fm_date+',as   datetime)   and   x_wk_pdate   <=     cast('+@to_date+',   as   datetime)   ')  
   
  go  
   
  exec   mp_copydata  
  @sdb=   'xymis2',  
  @tdb   =   'xyfai',  
  @fm_date   =   '2005-10-01',  
  @to_date   =   '2005-10-31'  
   
  go  
   
  第   3   行:   '1'   附近有语法错误。Top

8 楼samfeng_2003(凤翼天翔)回复于 2005-12-16 13:40:49 得分 0

exec   (   '   insert   into     '+@bb+'    
  select   *   from   '+@aa+'    
  where     x_wk_pdate   >=   cast   ('+@fm_date+',as   datetime)   and   x_wk_pdate   <=     cast('+@to_date+',   as   datetime)   ')  
  老大'+@to_date+',这里加上逗号,句子解读的时候当然就有问题了!  
   
  应该  
  where     x_wk_pdate   >=   cast   ('+@fm_date+'   as   datetime)   and   x_wk_pdate   <=     cast('+@to_date+'   as   datetime)   ')  
  Top

9 楼weifai88(weifai88)回复于 2005-12-16 13:53:55 得分 0

不好意思,因为用多的PB,都混乱了。但改过来还是有问题,老是说  
  第   3   行:   '1'   附近有语法错误。  
  Top

相关问题

  • 存储过程出错?
  • 存储过程出错
  • 存储过程出错!
  • 存储过程出错!!急!
  • 存储过程的问题:附出错的存储过程
  • 调用存储过程出错!!
  • 执行存储过程出错 :(
  • 存储过程出错,帮忙看看。
  • 调用存储过程出错~~
  • oracle创建存储过程出错???

关键词

  • date
  • pdate
  • fm
  • wk
  • cast
  • varchar
  • aa
  • bb
  • as datetime
  • and x

得分解答快速导航

  • 帖主:weifai88
  • samfeng_2003
  • zjcxc

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo