DECLARE @DynamicQuerySql NVARCHAR(MAX)
SET @DynamicQuerySql=''
EXEC (' SELECT '+@DynamicQuerySql=@DynamicQuerySql+'FQuerySql FROM TField_DataFreeToExcel '消息 102,级别 15,状态 1,第 3 行
'=' 附近有语法错误。我必须要在EXEC 执行
如果直接写SQL语句非动态 DECLARE @DynamicQuerySql NVARCHAR(MAX)
SET @DynamicQuerySql=''
SELECT @DynamicQuerySql=@DynamicQuerySql+FQuerySql FROM TField_DataFreeToExcel
SELECT @DynamicQuerySql
这样执行 数据都累加到DynamicQuerySql变量上了但我必须用动态的方式 请大家帮帮忙 谢谢了
RETURNS NVARCHAR(MAX)
AS
BEGIN
DECLARE @DynamicQuerySql NVARCHAR(MAX)
SET @DynamicQuerySql=''
SELECT @DynamicQuerySql=@DynamicQuerySql+FQuerySql FROM TField_DataFreeToExcel
RETURN @DynamicQuerySql
ENDDECLARE @STR NVARCHAR(MAX)
SELECT @STR=DBO.FUN_TEST()
declare @s nvarchar(2000)
SET @DynamicQuerySql=''
set @s = ' SELECT @DynamicQuerySql='+@DynamicQuerySql+'FQuerySql FROM TField_DataFreeToExcel '
sp_executesql @s,'@dynamicquerysql varchar(1000) output',@DynamicQuerySql out
select @DynamicQuerySql
declare @s nvarchar(4000)
set @s = ' SELECT @DynamicQuerySql='+@DynamicQuerySql+'FQuerySql FROM TField_DataFreeToExcel '
exec ('DECLARE @DynamicQuerySql NVARCHAR(MAX) SET @DynamicQuerySql='''' '+@s+
'select @DynamicQuerySql '
)....
declare @s nvarchar(2000)
SET @DynamicQuerySql=''
set @s = ' SELECT @DynamicQuerySql='+@DynamicQuerySql+'FQuerySql FROM TField_DataFreeToExcel '
exec sp_executesql @s,'@dynamicquerysql varchar(1000) output',@DynamicQuerySql out
select @DynamicQuerySql
DECLARE @DynamicQuerySql NVARCHAR(MAX)
SET @DynamicQuerySql=''
EXEC (' SELECT @DynamicQuerySql=@DynamicQuerySql'+'FQuerySql FROM TField_DataFreeToExcel '
declare @s nvarchar(2000)
SET @DynamicQuerySql=''
set @s = N' SELECT @DynamicQuerySql='+@DynamicQuerySql+'FQuerySql FROM TField_DataFreeToExcel '
exec sp_executesql @s,N'@dynamicquerysql varchar(1000) output',@DynamicQuerySql out
select @DynamicQuerySql 不过 @DynamicQuerySql 查询出来 只有一条数据(最后一条) 而我的TField_DataFreeToExcel表中是有3条数据 石头大侠 急救
用sp_executesql我的改动量太多了
再次谢谢
select @DynamicQuerySql 改变量也是最后一条数据
DECLARE @DynamicQuerySql NVARCHAR(MAX)
SET @DynamicQuerySql=''
EXEC (' SELECT @DynamicQuerySql'=@DynamicQuerySql+'FQuerySql FROM TField_DataFreeToExcel '
DECLARE @A TABLE ( [name] varchar(1000))
INSERT INTO @A
SELECT '大' UNION ALL
SELECT '家' UNION ALL
SELECT '好'DECLARE @Sql as nvarchar(4000)
SET @Sql=''
SELECT @Sql=@Sql+'-----'+[name] FROM @A
SELECT @Sql这个就是我要的效果
不过要放在exec()中执行
我的exec()里面还会有很多局部变量