CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他数据库开发 >  Sybase

这个存储过程有什么错???

楼主cloudfog(阿荣)2003-08-01 17:42:41 在 其他数据库开发 / Sybase 提问

create   procedure   dbo.pro_xxcx_fieldinfo  
  @strtablename   varchar(60)  
  as  
  begin  
      begin   tran   tran_update_field      
   
      declare   @vfield_name   varchar(60)  
      declare   @vfield_type   varchar(60)  
  declare   @vfield_type_old   varchar(60)  
  declare   @vcon_name   varchar(120)  
      declare   @vfield_chname   varchar(60)  
   
      declare   v_cursor   cursor    
          for   select   COLUMNNAME,   COLUMNTYPE,   NOTE    
                  from   TD_XXCJ_TABLEINFO  
                  where   TABLENAME=upper(@strtablename)  
          for   read   only  
   
      open   v_cursor  
      fetch   v_cursor   into   @vfield_name,   @vfield_type,   @vfield_chname  
       
      while   @@sqlstatus   <>   2  
      begin  
          select   @vcon_name   =   @strtablename+'.'+@vfield_name  
          if    
          (  
              select   count(1)    
              from   TD_XXCX_FIELDINFO    
              where   FIELD_NAME   =   upper(@vcon_name)  
          )   >   0  
          begin  
              select   @vfield_type_old   =    
              (  
                  select   FIELD_TYPE  
                  from   TD_XXCX_FIELDINFO    
                  where   FIELD_NAME   =   upper(@vcon_name)  
              )  
  end  
          else  
          begin  
              @vfield_type_old   =   '   '  
              print   'no   data   found,   countinue...'  
          end  
         
          if   @vfield_type_old   =   '   '  
          begin  
              insert   into   TD_XXCZ_FIELDINFO  
                  (FIELD_ENNAME,   FIELD_CHNAME,   FIELD_TYPE)  
                  values(@vcon_name,   @vfield_chname,   @vfield_type)  
                  end  
          else  
          begin  
              update   TD_XXCX_FIELDINFO  
                  set   FIELD_CHNAME   =   @vfield_chname,   field_type   =   @vfield_type  
                  where   FIELD_ENNAME   =   upper(@vcon_name)  
                  end  
           
          fetch   v_cursor   into   @vfield_name,   @vfield_type,   @vfield_chname  
      end  
   
      close   v_cursor  
      commit   tran   tran_update_field  
  end  
   
  问题点数:0、回复次数:4Top

1 楼cloudfog(阿荣)回复于 2003-08-01 18:08:09 得分 0

我已经改对啦,多谢各位!!!Top

2 楼zheang(天心虫)回复于 2003-08-01 18:18:41 得分 0

那你该告诉我们你怎么改的,大家也看一下:)Top

3 楼tchatcha(沧桑,孤独,浪漫,但执着!)回复于 2003-08-04 09:26:43 得分 0

upTop

4 楼cloudfog(阿荣)回复于 2003-08-04 15:13:51 得分 0

if/else   后面根本不用begin/end;  
  变量赋值一定要用Select   @varname   =   '';  
  最后一个end用不着,要去掉。  
   
  Top

相关问题

  • 这个存储过程为什么会报错?
  • 这个存储过程为什么会出错?
  • 帮忙看看这个存储过程有什么错
  • 我的这个存储过程为什么出错
  • 请看这个存储过程什么错?
  • 这个存储过程为什么出现错误啊???
  • 这个存储过程有什么错误,该如何改正?
  • 这个存储过程为什么错了??
  • 大家看这个存储过程错在什么地方?
  • 大家看看这个存储过程有什么错啊

关键词

  • vcon
  • td
  • vfield
  • chname
  • xxcx
  • fieldinfo
  • strtablename
  • upper
  • cursor
  • field

得分解答快速导航

  • 帖主:cloudfog

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

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