急,急,急,分表过后如何查询全部结果??

sunboyyun 2010-06-11 04:48:24
为防止数据过多,影响查询效率,采用了分表的形式,表的建立是根据条件动态创建的,但表的数据字段和类型都一致,如:table1,table2.....tablen,现在不知道库里有这样数据字段和类型都一样的表,要查询全部的数据sql 语句怎么写啊??
select * from table1
union all
select * from table2
union all
select * from table3
这种方法是知道了库里有这样的表3张,但现在不知道有多少张,怎么做啊?望指教~~
...全文
422 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunboyyun 2010-06-12
  • 打赏
  • 举报
回复
解决了,呵呵,多谢各位~~
sunboyyun 2010-06-12
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 blogtjf 的回复:]

写存储过程,先去 select * from sysobjtcts where type='u'
[/Quote]
可以解释下这句话的意思么? 提示:对象名 'sysobjtcts' 无效。
宇峰科技 2010-06-12
  • 打赏
  • 举报
回复
对的,不用存储过程难以搞定,因为表的个数是不确定的,除非确字最多有多少张表[Quote=引用 1 楼 fcu 的回复:]
写存储过程,先去 select * from sysobjtcts where type='u'

然后循环生成 select ** union 语句
[/Quote]
sunboyyun 2010-06-12
  • 打赏
  • 举报
回复
还有其他的方法没,求高手帮下忙啊 ~~急
OOAmyOO 2010-06-11
  • 打赏
  • 举报
回复
使用分页
sunboyyun 2010-06-11
  • 打赏
  • 举报
回复
用的是sql server ,有这样的遍历方法没,多谢~~
水哥阿乐 2010-06-11
  • 打赏
  • 举报
回复
如果是MSSQL改用这个遍历就可以获得数据库的表名
SqlConnection conn = new SqlConnection(ConnectionString);
conn.Open();
DataTable dt = conn.GetSchema("Tables", null);
conn.Close();
DataGridView1.DataSource = dt;
smthgdin_020 2010-06-11
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 sunboyyun 的回复:]
不用存储过程,有其他方法么
[/Quote]

还是些存储过程吧。因为要进行一番判断和拼接,不是1,2句sql搞定的。
sunboyyun 2010-06-11
  • 打赏
  • 举报
回复
不用存储过程,有其他方法么
zjtpiaoxue 2010-06-11
  • 打赏
  • 举报
回复
拼接你的sql
"sqlString1"+"union all" +"sqlString2"+......
水哥阿乐 2010-06-11
  • 打赏
  • 举报
回复
遍历数据库的表
     protected void Page_Load(object sender, EventArgs e)
{
OleDbConnection conn = new OleDbConnection(ConnectionString);
conn.Open();
DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,null);
conn.Close();
GridView1.DataSource = dt;
GridView1.DataBind();
}
FCU 2010-06-11
  • 打赏
  • 举报
回复
写存储过程,先去 select * from sysobjtcts where type='u'

然后循环生成 select ** union 语句

110,546

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧