sqlserver自定义函数调用报错
写了个简单自定义函数如下,作用是根据表名和查询条件从数据库某张表的某个字段中取出数据并返回,但调用该函数时总是报错:必须声明变量 '@tb '。
请教一下是哪里错了。
drop function get_result;
go
create function get_result(@tb varchar(100),@condition varchar(100))
returns varchar(4000)
begin
declare @result varchar(4000)
select @result=cp_id from @tb where @condition
return (@result)
end
go
--调用
select * from get_result( 'tb_ua_admin ', 'admin_id=1 ')
------解决方案--------------------这样的问题已经有人问过多遍了,动态SQL需要使用EXEC,而至少在SQLSERVER2000中是无法用函数来解决的,只能使用存储过程.