在后台如何动态执行带参数的构造SQL 构造成一个串.exec (@sql) 来执行. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 declare @sFieldName varchar(100),@sMaxBillCode varchar(100)declare @TableName varchar(100),@sField varchar(100),@sLikeValue varchar(100)...declare @s nvarchar(8000)set @s = ''select @s = @s+ N' select @sMaxBillCode = Max('+@sFieldName+N')' + N' from '+@sTableName + N' where '+@sField+N' like ''' + @sLikeValue + N''''exec sp_executesql @s,N'@sMaxBillCode varchar(100) out',@sMaxBillCode outselect @sMaxBillCode create procedure sp_getMax (@sTableName varchar(200),@sField varchar(200),@sLikeValue varchar(200),@sFieldName varchar(200),@sMaxBillCode varchar(200) output)asdeclare @sql nvarchar(4000)set @sql='select @sMaxBillCode=max('+@sFieldName+') from ['+@stablename+'] where '+@sField+' like '''+@sLikeValue+''''print @sqlexec sp_executesql @sql,N'@sMaxBillCode varchar(200) output',@sMaxBillCode outputgo--调用declare @sMaxBillCode varchar(200)exec sp_getMax 'test_a','a','%','b',@sMaxBillCode outputselect @sMaxBillCode create procedure p@sTableName varchar(20),@sFieldName varchar(20),@sField varchar(20),@sLikeValue varchar(100),@sMaxBillCode int outputasdeclare @sql nvarchar(1000)set @sql='select @sMaxBillCode = Max('+@sFieldName+')'+ N'from '+@sTableName+ N'where '+@sField+' like ''%''+@sLikeValue + ''%'''exec sp_executesql @sql, N'@sMaxBillCode int output,@sLikeValue varchar(100)', @sMaxBillCode output,@sLikeValuego --忘记%了。create procedure sp_getMax (@sTableName varchar(200),@sField varchar(200),@sLikeValue varchar(200),@sFieldName varchar(200),@sMaxBillCode varchar(200) output)asdeclare @sql nvarchar(4000)set @sql='select @sMaxBillCode=max('+@sFieldName+') from ['+@stablename+'] where '+@sField+' like ''%'+@sLikeValue+'%'''print @sqlexec sp_executesql @sql,N'@sMaxBillCode varchar(200) output',@sMaxBillCode outputgo--调用declare @sMaxBillCode varchar(200)exec sp_getMax 'test_a','a','%','b',@sMaxBillCode outputselect @sMaxBillCode declare @sFieldName varchar(100) , @sMaxBillCode varchar(100) , @sTableName varchar(100) , @sField varchar(100) , @sLikeValue varchar(100) , @sSQL nvarchar(4000)set @sSQL = ''set @sFieldName = 'DPTNO'set @sTablename ='BASDEPT'set @sField = 'DPTNO'set @sLikeValue = '%'select @sSQL = @sSQL + N' select @sMaxBillCode = Max('+@sFieldName+N')' + N' from '+ @sTableName + N' where '+ @sField + N' like ''' + @sLikeValue + N''''exec sp_executesql @sSQL,N'@sMaxBillCode varchar(100) out',@sMaxBillCode = @sMaxBillCode out select @sMaxBillCode 根据某列数据的大小在另一列的后面加序号 如何把课程表中学生选择的多个课程合并为一行显示 触发器如何得到操作者的ID和IP? ASP联接SQL出现的问题,请各位朋友帮我看看,谢谢!!! 批量插入顺序手机号,有没快速点的方法? 汇总疑难 如何将第一个临时表查询的结果插入到第二个临时表里 怪问题,请大虾帮忙!!!! ----》》这里有人知道SIEBEL的吗,能否介绍一下 java.sql.SQLException ?? 求句sql语句,急呀 一个存储过程如何实现?
declare @TableName varchar(100),@sField varchar(100),@sLikeValue varchar(100)
...
declare @s nvarchar(8000)
set @s = ''
select @s = @s+ N' select @sMaxBillCode = Max('+@sFieldName+N')'
+ N' from '+@sTableName
+ N' where '+@sField+N' like ''' + @sLikeValue + N''''
exec sp_executesql @s,N'@sMaxBillCode varchar(100) out',@sMaxBillCode out
select @sMaxBillCode
create procedure sp_getMax
(@sTableName varchar(200),@sField varchar(200),@sLikeValue varchar(200),@sFieldName varchar(200),@sMaxBillCode varchar(200) output)
asdeclare @sql nvarchar(4000)
set @sql='select @sMaxBillCode=max('+@sFieldName+') from ['+@stablename+'] where '+@sField+' like '''+@sLikeValue+''''
print @sql
exec sp_executesql @sql,N'@sMaxBillCode varchar(200) output',@sMaxBillCode outputgo
--调用
declare @sMaxBillCode varchar(200)
exec sp_getMax 'test_a','a','%','b',@sMaxBillCode output
select @sMaxBillCode
@sTableName varchar(20),
@sFieldName varchar(20),
@sField varchar(20),
@sLikeValue varchar(100),
@sMaxBillCode int output
as
declare @sql nvarchar(1000)
set @sql='select @sMaxBillCode = Max('+@sFieldName+')'+
N'from '+@sTableName+
N'where '+@sField+' like ''%''+@sLikeValue + ''%'''
exec sp_executesql @sql,
N'@sMaxBillCode int output,@sLikeValue varchar(100)',
@sMaxBillCode output,@sLikeValuego
create procedure sp_getMax
(@sTableName varchar(200),@sField varchar(200),@sLikeValue varchar(200),@sFieldName varchar(200),@sMaxBillCode varchar(200) output)
asdeclare @sql nvarchar(4000)
set @sql='select @sMaxBillCode=max('+@sFieldName+') from ['+@stablename+'] where '+@sField+' like ''%'+@sLikeValue+'%'''
print @sql
exec sp_executesql @sql,N'@sMaxBillCode varchar(200) output',@sMaxBillCode outputgo
--调用
declare @sMaxBillCode varchar(200)
exec sp_getMax 'test_a','a','%','b',@sMaxBillCode output
select @sMaxBillCode
, @sMaxBillCode varchar(100)
, @sTableName varchar(100)
, @sField varchar(100)
, @sLikeValue varchar(100)
, @sSQL nvarchar(4000)set @sSQL = ''
set @sFieldName = 'DPTNO'
set @sTablename ='BASDEPT'
set @sField = 'DPTNO'
set @sLikeValue = '%'select @sSQL = @sSQL + N' select @sMaxBillCode = Max('+@sFieldName+N')'
+ N' from '+ @sTableName
+ N' where '+ @sField + N' like ''' + @sLikeValue + N''''exec sp_executesql @sSQL,N'@sMaxBillCode varchar(100) out',@sMaxBillCode = @sMaxBillCode out select @sMaxBillCode