日期:2014-05-18  浏览次数:20451 次

SQL SERVER 表名作为变量,如何实现呢?
我现在有这样一些表:
TB_XD_HEB
TB_XD_QQHE
TB_XD_MDJ
TB_XD_JMS
TB_XD_SH
TB_XD_YC
我想通过一个存储过程直接查询以上几张表的数据,如果写SQL的话,就要写6次查询语句,怎么能够利用存储过程简化这个问题呢?

我现在只是通过游标能够返回这些表的表名,但是如何能一次性全表查询呢?
每张表的数据量大概有300多万条记录。
如果用union的话,表有点太大了。
请高手帮帮忙哈

------解决方案--------------------
查询的时候有条件限制么?不会都查出来吧!最后肯定是给前台或者导出,看下数据什么的,把条件加上union吧!或者利用临时表来处理下。
------解决方案--------------------
将六个表做union创建视图,然后利用视图来操作。
------解决方案--------------------
顶一个
------解决方案--------------------
SQL code
--表名做变量?可以动态拼接
declare @tablename varchar(20)
set @tablename='tb'
exec ('select * from '+@tablename)

------解决方案--------------------
不错。。。
------解决方案--------------------
你就在存储过程写好六句,然后调用存储过程时也就一个存储过程嘛