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

高手请进,解决一个动态更新表的存储过程的问题?

楼主chaichaichai(c)2002-12-02 21:15:26 在 MS-SQL Server / 基础类 提问

各位:这个问题时这样的,我在一个存储过程中,应用了这样的一条语句,但是提示说不能将类型进行隐士转换,请看例子:  
  @name   varchar(50)           --表示表rrr中一个字段的名字  
  @value   int                         --表示这个字段的更新值  
  update   rrr   set   @name=@vslue   where   条件  
   
  为什么不对呢?请各位分析一下,各一个解决的方案,或例子。  
  小弟非常感谢!谢谢!!!!!! 问题点数:0、回复次数:9Top

1 楼sky_blue(蓝天2007)回复于 2002-12-02 21:19:46 得分 0

exec('update   rrr   set   '+@name+'='+   covert(varchar(20),@vslue)+   '   where   条件')Top

2 楼y_zhi_yong(小兵)回复于 2002-12-02 21:24:45 得分 0

在update等语句中不能直接使用变量,如上,先连成一个字符串然后用exec   string来执行.Top

3 楼ok1(wei)回复于 2002-12-02 21:26:16 得分 0

declare   @a   varchar(30),@b   int  
  select   @a='444'  
  select   cast(@a   as   int)  
  select   @b=@a  
  print   @b  
  Top

4 楼pengdali()回复于 2002-12-02 21:37:15 得分 0

exec   ('update   rrr   set   '+@name+'='+@vslue+'   where   '+条件)Top

5 楼older(井底蛙同样可以向往大海)回复于 2002-12-02 23:17:01 得分 0

exec   ('update   rrr   set   '+@name+'="'+@vslue+'"   where   '+条件)  
  Top

6 楼older(井底蛙同样可以向往大海)回复于 2002-12-02 23:19:49 得分 0

应为:  
  exec   ('update   rrr   set   '+@name+'='+cast(@vslue   as   string)+'   where   '+条件)Top

7 楼tantengfei(苦口苦乐)回复于 2002-12-03 09:27:59 得分 0

用exec   的回答都是正确的方向.因为用update   ,@name   不会转成字段名称的。Top

8 楼zzhuz(大件)回复于 2002-12-03 09:34:32 得分 0

先把命令连成字符串,再用exec执行命令Top

9 楼tfxg()回复于 2002-12-05 09:06:39 得分 0

exec   ('update   rrr   set   '+@name+'='+@vslue+'   where   '+条件)  
  Top

相关问题

  • 用存储过程动态生成表
  • 存储过程动态建表问题.
  • 动态建表的存储过程
  • 请问这个存储过程能更新数据吗?(多表)
  • [存储过程]2个表间数据插入和更新?
  • 请教:如何写更新两张表的存储过程?
  • 在存储过程中动态产生的临时表数据在存储过程中如何访问
  • 存储过程中的动态表名问题
  • 存储过程中,表名是动态的会出错吗?
  • 怎么用存储过程生成一个动态字段表???

关键词

  • vslue
  • 条件
  • exec
  • update rrr set
  • varchar
  • where

得分解答快速导航

  • 帖主:chaichaichai

相关链接

  • SQL Server类图书

广告也精彩

反馈

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