CREATE PROCEDURE Pro_SelectTable
@TblN VarChar(8000),
@SelectWhere VarChar(8000)
AS
Declare @SqlStr VarChar(8000)
Declare @Pointpre int
Declare @Pointcur int
Declare @Tbcur varchar(100)
SET @Pointpre=1
SET @Pointcur=1
SET @Tbcur=''
SET @SqlStr=''IF @TblN<>''
BEGIN
SET @Pointcur=charindex(',',@TblN,@Pointpre)
IF @Pointcur=0
SET @SqlStr=@SqlStr+Char(9)+'Select * from'+char(9)+@TblN /*就一个查询表的情况*/
ELSE
BEGIN
WHILE (@Pointcur<>0)
BEGIN
SET @Pointcur=charindex(',',@TblN,@Pointpre)
IF @Pointcur<>0 SET @Tbcur=substring(@TblN,@Pointpre,@Pointcur-@Pointpre) /*得到非最后一个查询表的名字*/
ELSE
SET @Tbcur=substring(@TblN,@Pointpre,LEN(@TblN)-@Pointpre+1) /*得到最后一个查询表的名字*/
SET @Pointpre=@Pointcur+1
IF @SqlStr<>'' SET @SqlStr=@SqlStr+Char(9)+Char(9)+' UNION ALL Select * from'+char(9)+@Tbcur
--UNION ALL 放到字符串里面
ELSE
SET @SqlStr=@SqlStr+Char(9)+'Select * from'+char(9)+@Tbcur
CONTINUE
END
END
END
/*IF @SelectWhere<>''
SET @SqlStr=@SqlStr+Char(9)+'Where'+Char(9)+@SelectWhere
*/exec(@SqlStr)GO
@TblN VarChar(8000),
@SelectWhere VarChar(8000)
AS
Declare @SqlStr VarChar(8000)
Declare @Pointpre int
Declare @Pointcur int
Declare @Tbcur varchar(100)
SET @Pointpre=1
SET @Pointcur=1
SET @Tbcur=''
SET @SqlStr=''IF @TblN<>''
BEGIN
SET @Pointcur=charindex(',',@TblN,@Pointpre)
IF @Pointcur=0
SET @SqlStr=@SqlStr+Char(9)+'Select * from'+char(9)+@TblN /*就一个查询表的情况*/
ELSE
BEGIN
WHILE (@Pointcur<>0)
BEGIN
SET @Pointcur=charindex(',',@TblN,@Pointpre)
IF @Pointcur<>0 SET @Tbcur=substring(@TblN,@Pointpre,@Pointcur-@Pointpre) /*得到非最后一个查询表的名字*/
ELSE
SET @Tbcur=substring(@TblN,@Pointpre,LEN(@TblN)-@Pointpre+1) /*得到最后一个查询表的名字*/
SET @Pointpre=@Pointcur+1
IF @SqlStr<>'' SET @SqlStr=@SqlStr+Char(9)+Char(9)+' UNION ALL Select * from'+char(9)+@Tbcur
--UNION ALL 放到字符串里面
ELSE
SET @SqlStr=@SqlStr+Char(9)+'Select * from'+char(9)+@Tbcur
CONTINUE
END
END
END
/*IF @SelectWhere<>''
SET @SqlStr=@SqlStr+Char(9)+'Where'+Char(9)+@SelectWhere
*/exec(@SqlStr)GO
解决方案 »
- 再问一个问题
- 为什么这样的语句不正确?
- 2种类似的 sql语句为什么执行结果会不一样,求牛人进来分析分析
- 全文搜索单个词的时候不能全部匹配问题
- 假如一个SQL Server服务器的身份验证采用"仅Windows",那么这台数据库服务器能被远程访问吗?
- 系统表的更新问题。
- 我安装动网论坛出现Microsoft OLE DB Provider for SQL Server 错误 '80004005' ,哪位兄弟帮我解答解答!?
- 简单问题,怎么锁一个表呢?
- DOS的库能否在window中打开?
- 紧急求教:SQL SERVER 2000报错:LSN无效,如何解决?谢谢!
- 请高手指点!
- 2列数据对比要怎么写代码啊
看看是否正確,大部分可以看出問題在哪了