我要写一个函数,他的值是返回表 , 如下create function result( @sql_where varchar(1000) )
returns tablereturn(SELECT from sent ...........
)
我想现实传入一段where 的语句,然后接下函数语句中的select 语句组成一句完整的查询语句,最后才返回表的值,试了很久都没搞定,请朋友帮帮忙啊
returns tablereturn(SELECT from sent ...........
)
我想现实传入一段where 的语句,然后接下函数语句中的select 语句组成一句完整的查询语句,最后才返回表的值,试了很久都没搞定,请朋友帮帮忙啊
create function result( @sql_where varchar(1000) )
returns varchar(8000)
as
begin
declare @SQLStr varchar(8000)
set @SQLStr = 'select * from sent where' + @sql_where
return @SQLStr
end
declare @sqlstr
set @sqlstr = dbo.result('id=3')
exec @sqlstr --执行SQL,得到数据集
declare @sqlstr
set @sqlstr = dbo.result('id=3')
exec( @sqlstr) --这里加括号,表示执行动态语句,而不加括号,表示执行存储过程
GO
CREATE FUNCTION SalesByStore (@storeid varchar(30))
RETURNS TABLE
AS
RETURN (SELECT title, qty
FROM sales s, titles t
WHERE s.stor_id = @storeid and
t.title_id = s.title_id)调用是用:
select * from SalesByStore('6380')
其实去看看sql server的帮助文件,都有的