create function getTable(@topNumber int)
returns Table
as
return(select top @topNumber * from tablename)
创建这样一个函数,错误提示: '@topNumber ' 附近有语法错误。
是不是top [email protected] 换成常量如20就可以了
要实现这个函数应该怎么写
------解决方案--------------------
create function getTable(@topNumber int)
returns Table
as
return(exec( 'select top '+ @topNumber + ' * from tablename ')
------解决方案--------------------
[email protected],要将 select top @topNumber * from tablename 写成字符串,exec执行才行。
exec( 'select top ' + cast(@topNumber as varchar) + ' * from tablename ')
------解决方案--------------------
樓上各位,函數裡可以使用動態語句嗎?
改用存儲過程
create Procedure getTable(@topNumber int)
as
exec( 'select top ' + @topNumber + ' * from tablename ')
GO
------解决方案--------------------
也可以不用动态语句,如下
create PROCEDURE getTable
@topNumber int=10
as
set rowcount @topnumber -- 设置受影响的行数
select * from tablename
go