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

exec sp_executesql @sql1+@sql2.该如何解决

2012-09-25 
exec sp_executesql@sql1+@sql2...难道是我的SQLSERVER版本的问题吗?我的版本是sqlserver2000.我的语句如

exec sp_executesql @sql1+@sql2...
难道是我的SQLSERVER版本的问题吗?我的版本是sqlserver2000.
我的语句如下所示:
declare @param nvarchar(100)
declare @roadx int
set @param = '@roadx int'
declare @sSql1 nvarchar(4000)
declare @sSql2 nvarchar(4000)
set @sSql1 = 'insert into t1 '
set @sSql2 = ' select * from t1'
exec sp_executesql (@sSql1 + @sSql2) ,@param,@roadx 


[解决办法]

SQL code
create table t1(a int) insert into t1 select 1 union select 2declare @param nvarchar(100)declare @roadx intset @roadx = 1set @param = '@roadx int'declare @sSql1 nvarchar(4000)declare @sSql2 nvarchar(4000)declare @sSql3 nvarchar(4000)--set @sSql1 = 'insert into t1  select * from t1 where a = @roadx 'set @sSql1 = 'insert into t1 'set @sSql2 = ' select * from t1 where a = @roadx'set @sSql3 = @sSql1 + @sSql2exec sp_executesql @sSql3,@param,@roadx
[解决办法]
SQL code
declare @param nvarchar(100)declare @roadx intset @roadx = 1set @param = '@roadx int'declare @sSql1 varchar(4000)declare @sSql2 varchar(4000)--set @sSql1 = 'insert into t1 select * from t1 where a = @roadx 'set @sSql1 = 'insert into t1 'set @sSql2 = ' select * from t1 where a='exec ('declare @sSql1 varchar(4000), @sSql2 varchar(4000)'+@sSql1+@sSql2+@roadx) 

热点排行
Bad Request.