Sql server 函数学习

来源:互联网 发布:java instrument 编辑:程序博客网 时间:2024/06/11 21:27

功能:需要设计一个函数,用于将指定表的f_bm转换成f_mc。f_bm可能是多值,中间用逗号分隔。

说明:为什么要用函数?因为用函数可以直接在select中使用,这样对于客户端程序来说使用非常方便,而且容易理解。

ALTER FUNCTION [dbo].[getmclist_tbda_bm](@bmlist varchar(200)--编码列表)RETURNS varchar ASbegin  declare @mclist varchar(1000);set @mclist='';select @mclist=@mclist+ case @mclist when '' then '' else ',' end +f_mc from tbda_bm where charindex(f_bm,@bmlist)>0 RETURN (select @mclist )end;

问题:函数不能使用exec和PROCEDURE,这样就导致了无法将表名用变量的方式传递进来。目前我只能将表名写死,每个表名写一个对应的函数,希望高手能够提供解决方案!



原创粉丝点击