首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql 2000存储过程中表名改作变量,该如何解决

2012-04-30 
sql 2000存储过程中表名改作变量我有1存储过程,能正常调用CREATE PROCEDURE cxgl_lsb@qrq smalldatetime,@

sql 2000存储过程中表名改作变量
我有1存储过程,能正常调用

CREATE PROCEDURE cxgl_lsb 
@qrq smalldatetime,
@zrq smalldatetime
AS
if object_id('[fgsgl_sb]') is not null drop table [fgsgl_sb]
create table [fgsgl_sb]([XRQ] smalldatetime,[RGL] numeric(18, 0),[JCMC] varchar(20))
insert fgsgl_sb (xrq,rgl,jcmc) 
select Convert(Varchar(10),xrq,120) as xrq,sum(rgl) as Rgl,cx from jqld2012 where xrq>=@qrq and xrq<=@zrq group by xrq,cx
GO

但要把表名“jqld2012”换做变量名@biao
如何改动

[解决办法]
try

SQL code
CREATE PROCEDURE cxgl_lsb  @qrq smalldatetime,@zrq smalldatetime,@biao varchar(50)ASdeclare @sql varchar(8000)if object_id('[fgsgl_sb]') is not null drop table [fgsgl_sb]create table [fgsgl_sb]([XRQ] smalldatetime,[RGL] numeric(18, 0),[JCMC] varchar(20))set @sql='insert fgsgl_sb (xrq,rgl,jcmc)  select Convert(Varchar(10),xrq,120) as xrq,sum(rgl) as Rgl,cx from '+@biao+' where xrq>='''+convert(varchar(10),@qrq,120)+''' and xrq<='''+convert(varchar(10),@zrq,120)+''' group by xrq,cx'exec (@sql)GO
[解决办法]
探讨
try

SQL code
CREATE PROCEDURE cxgl_lsb
@qrq smalldatetime,
@zrq smalldatetime,
@biao varchar(50)
AS
declare @sql varchar(8000)
if object_id('[fgsgl_sb]') is not null drop table [fgsgl_sb]
……

热点排行