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

这个存储过程应当怎样写?

楼主JetJack(喷气引擎)2005-01-05 15:44:10 在 MS-SQL Server / 基础类 提问

数据库拥有a1到an个用户,系统为每个用户都建一个table_1表,各table_1的结构相同,那么每位用户的table_1表全名为ax(x=1   to   n).table_1  
  现在在存储过程中要对每个用户的table_1表操作。  
  先声明一个变量用于保存用户名  
  Declare   @opid   varchar(10)  
  然后用游标不断地把用户名赋给@opid。  
  再用select   *   from   @opid.table_1操作每个用户的table_1表。  
  但是查询分析器提示说‘select   *   from   @opid.table_1’这行语句‘Incorrect   syntax   near   '.'’  
  请教这行语句应当怎么写? 问题点数:50、回复次数:6Top

1 楼vinsonshen(为了明天)回复于 2005-01-05 15:48:19 得分 20

exec   ('select   *   from   '+@opid.table_1+'')Top

2 楼NinGoo(http://www.NinGoo.net)回复于 2005-01-05 15:48:36 得分 10

不需要游标  
   
  declare   @n   varchar(10)  
  declare   @an   varchar(10)  
  declare   @sql   varchar(1000)  
   
  set   @n=1  
   
  while   @n<N     --这里N为你的用户的个数  
  begin  
    set   @an='a'+@n  
    set   @sql='select   *   from   '+   @a+'.table_1  
    exec   (@sql)  
  end  
   
  Top

3 楼wanyingsong(豌豆)回复于 2005-01-05 15:48:48 得分 10

用动态语句,exec('select   *   from   '+@tablename)Top

4 楼vinsonshen(为了明天)回复于 2005-01-05 15:48:51 得分 10

exec   ('select   *   from   '+@opid+'.table_1')  
  Top

5 楼NinGoo(http://www.NinGoo.net)回复于 2005-01-05 15:50:20 得分 0

有点小错误,呵呵  
   
  declare   @n   varchar(10)  
  declare   @an   varchar(10)  
  declare   @sql   varchar(1000)  
   
  set   @n=1  
   
  while   @n<10     --这里N为你的用户的个数  
  begin  
    set   @an='a'+@n  
    set   @sql='select   *   from   '+   @an+'.table_1'  
    exec   (@sql)  
   
  set   @n=@n+1  
  end  
  Top

6 楼JetJack(喷气引擎)回复于 2005-01-05 16:20:23 得分 0

还有一个问题如果是下列语句  
  select   *   from   a1.table_1   where   bm='11'   and   date   between   '2004-01-01'   and   '2004-01-31'按上面的方法应怎么写?Top

相关问题

  • 这个MSsql存储过程.怎样改写成Oracle存储过程啊.
  • 请问怎样编写这个存储过程
  • 怎样修改这个存储过程
  • 怎样写这样的存储过程?
  • 怎样写动态存储过程?
  • 这个存储过程怎么写?
  • 这个存储过程如何写?
  • 这个存储过程怎么写?
  • 这个存储过程怎么写?(SQLSERVER7)
  • 这个存储过程怎么写!

关键词

  • 用户
  • opid
  • 表
  • varchar
  • declare
  • table
  • select

得分解答快速导航

  • 帖主:JetJack
  • vinsonshen
  • NinGoo
  • wanyingsong
  • vinsonshen

相关链接

  • SQL Server类图书

广告也精彩

反馈

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