首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 如何动态定义一组变量并给予赋值? [已结贴,结贴人:yaxiya]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 16:18:19 楼主
    我想动态定义一组变量并自动给予赋值
    例如:str0,str1,str2...并通过循环给予赋值0,1,2...
    现在写了如下代码,但是有问题,请大家给予修改,谢谢!

      declare @i int
      declare @name varchar(3)
      set @i=0;
      set @name='str'
      while  @i <10
      begin
          set @name+@i= @i
          set @i=@i+1
      end
    50  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 16:21:031楼 得分:0
    SQL code
    declare @i int declare @name varchar(10) set @i=0; set @name='str' while @i <10 begin set @name='' set @name='str'+ltrim(@i) print @name set @i=@i+1 end /* str0 str1 str2 str3 str4 str5 str6 str7 str8 str9 */
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 16:24:592楼 得分:0
    引用 1 楼 Limpire 的回复:
    SQL codedeclare@iintdeclare@namevarchar(10)set@i=0;set@name='str'while@i <10beginset@name=''set@name='str'+ltrim(@i)print@nameset@i=@i+1end/*str0
    str1
    str2
    str3
    str4
    str5
    str6
    str7
    str8
    str9*/

    如何把
    str1
    str2
    str3
    str4
    str5
    str6
    str7
    str8
    str9分别作为变量并赋予值
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ???
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 16:25:233楼 得分:0
    用动态语句吧,不过动态语句申明的变量,只能在动态语句内部使用
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 16:26:094楼 得分:0
    也就是说:
    str1=1
    str2=2
    .
    .
    .
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 16:27:385楼 得分:0
    引用 3 楼 dobear_0922 的回复:
    用动态语句吧,不过动态语句申明的变量,只能在动态语句内部使用

    具体如何?谢谢!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 16:28:306楼 得分:25
    引用 4 楼 yaxiya 的回复:
    也就是说:
    str1=1
    str2=2
    .
    .
    .


    SQL code
    declare @i int declare @name varchar(10) set @i=0; set @name='str' while @i <10 begin set @name='' set @name='str='+ltrim(@i) print @name set @i=@i+1 end /* str=0 str=1 str=2 str=3 str=4 str=5 str=6 str=7 str=8 str=9 */
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 16:30:087楼 得分:0
    不停的思索中.....
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 16:32:138楼 得分:0
    引用 6 楼 Limpire 的回复:
    引用 4 楼 yaxiya 的回复:
    也就是说:
    str1=1
    str2=2
    .
    .
    .


    SQL codedeclare@iintdeclare@namevarchar(10)set@i=0;set@name='str'while@i <10beginset@name=''set@name='str='+ltrim(@i)print@nameset@i=@i+1end/*str=0
    str=1
    str=2
    str=3
    str=4
    str=5
    str=6
    str=7
    str=8
    str=9*/

    我的表达有问题,请原谅!
    我的意思是:
    能否通过循环动态定义变量并赋值
    例如
    @str1=1
    @str2=2
    ...
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 16:39:059楼 得分:25
    SQL code
    --这样?? declare @i int declare @name varchar(3) declare @sql varchar(1000) set @i=0; set @name='str' set @sql='' while @i<10 begin set @sql=@sql+' declare '+@name+ltrim(@i)+' int; set '+@name+ltrim(@i)+'='+ltrim(@i)+';' set @i=@i+1 end print @sql
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 16:46:3510楼 得分:0
    引用 9 楼 pt1314917 的回复:
    SQL code--这样??declare@iintdeclare@namevarchar(3)declare@sqlvarchar(1000)set@i=0;set@name='str'set@sql=''while@i <10beginset@sql=@sql+'declare'+@name+ltrim(@i)+'int; set'+@name+ltrim(@i)+'='+ltrim(@i)+';'set@i=@i+1endprint@sql

    如果我想执行下面的语句
    select * from user=@str0
    select * from user=@str1
    select * from user=@str2
    如何调用字符串中的变量值?
    谢谢!
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved