好贷网好贷款

FROM后的表名能不能用变量代替。。。。。。 1CSDN]

发布时间:2016-12-4 3:54:21 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"FROM后的表名能不能用变量代替。。。。。。 1CSDN]",主要涉及到FROM后的表名能不能用变量代替。。。。。。 1CSDN]方面的内容,对于FROM后的表名能不能用变量代替。。。。。。 1CSDN]感兴趣的同学可以参考一下。

想替其他部门的不懂数据库的人写一个程序,用存储过程,让他们用时不管是什么表只须在输入变量中输入表名即可, 也就是说在FROM句子后的表名用变量来代替。。。有解决的办法吗?

declare @tablename varchar(100) set @tablename='你要的表名' exec('select * from [email protected])

可以,不过要用动态SQL

上面好像运行不成吧...

行,谢谢.....我该继续努力呀...好多都不懂,,,动态SQL 在那学啊..?

create proc tjjl1   @tablename1 varchar (255) as  declare cursor2 cursor for exec('select 存货,规格,发货件数 from '+ @tablename1) open cursor2 declare @huowu nvarchar (255),@guige nvarchar (255),@xiaoliang float (8) fetch next from cursor2 into @huowu,@guige,@xiaoliang while @@fetch_status =0 begin  update 基本信息表     set 基本信息表.当月件数= 基本信息表.当月件数+ @xiaoliang  from 基本信息表 where 基本信息表.存货= @huowu and 基本信息表.规格= @guige  fetch next from cursor2 into @huowu,@guige,@xiaoliang     end    close cursor2 deallocate cursor2 还是不能执行.....总是说 EXEC 处出现错误 .......

EXEC的结果不能直接放到游标里. 要先放到临时表里才行. declare cursor2 cursor for exec('select 存货,规格,发货件数 from '+ @tablename1) -------------> create table dbo.#temp(存货 nvarchar(20),规格 nvarchar(100),发货件数 int) insert into #temp exec('select 存货,规格,发货件数 from '+ @tablename1) declare cursor2 cursor for select * from #temp

用动态SQL可以啊

上一篇:SqlServer2005数据字典的问题 20CSDN]
下一篇:怎么把SQL Server中的数据导出到Access中? 20hifool]

相关文章

相关评论