执行动态SQL

时间:2014-07-18 01:28:34

标签: sql sybase

我有一个表:View_Attachments_201401(最后一部分采用YYYYMM格式)。现在,我试图在一年中每个月运行的更大的查询中引用此表。

我想简单地实现这一点,不幸的是它给出了一个错误。请你帮助我好吗?我正在使用Sybase 16。

Create variable @sqlstring varchar(255);
Create variable @yyyymm    varchar(6);
Set @yyyymm = '201404';
Set @sqlstring = 'Select distinct hdtv from tbl.View_attachments_@yyyymm';
Execute @sqlstring

2 个答案:

答案 0 :(得分:0)

尝试

Declare @sqlstring varchar(255);
Declare @yyyymm    varchar(6);
Set @yyyymm = '201404';
Set @sqlstring = 'Select distinct hdtv from tbl.View_attachments_' + @yyyymm;
execute ( @sqlstring )

答案 1 :(得分:0)

试试这个:

declare 
@sqlstring varchar(255),
@yyyymm    varchar(6)

select @yyyymm = '201404'
select @sqlstring = 'Select distinct hdtv from tbl.View_attachments_' + @yyyymm

execute ( @sqlstring )