執行: declare @num int set @num=5 select top @num * from tabchar 會出錯,改為: declare @sql varchar(1000) declare @num int set @num=5 set @sql='select top '+cast(@num as varchar) +' * from tabchar' exec(@sql)
不好意思,纠正一下,set max(yc)=(max(yc) +'-'+'select top @c yc from back1 )where glh=@b那个不是yc,应该是ys
執行: declare @num int set @num=5 select top @num * from tabchar 會出錯,改為: declare @sql varchar(1000) declare @num int set @num=5 set @sql='select top '+cast(@num as varchar) +' * from tabchar' exec(@sql)
你的select top @c 需要用动态的sql 来解决,如 declare @sql varchar(1000) declare @num int set @num=5 set @sql='select top '+cast(@num as varchar) +' * from tabchar' exec(@sql) 还有就是你的max(fs)不能这么使用。
執行:
declare @num int
set @num=5
select top @num * from tabchar
會出錯,改為:
declare @sql varchar(1000)
declare @num int
set @num=5
set @sql='select top '+cast(@num as varchar) +' * from tabchar'
exec(@sql)
執行:
declare @num int
set @num=5
select top @num * from tabchar
會出錯,改為:
declare @sql varchar(1000)
declare @num int
set @num=5
set @sql='select top '+cast(@num as varchar) +' * from tabchar'
exec(@sql)
需要用动态的sql 来解决,如
declare @sql varchar(1000)
declare @num int
set @num=5
set @sql='select top '+cast(@num as varchar) +' * from tabchar'
exec(@sql)
还有就是你的max(fs)不能这么使用。