创建SQLServer自定义函数报错,可是同样的代码可以创建过程! 求大神帮忙看看!!!

createfunctionget_max_item(@totalint,@g_scale_inint,@i_scale_inint,@template_idvarcha... create function get_max_item (@total int,@g_scale_in int,@i_scale_in int,@template_id varchar,@group_id varchar,@item_id varchar )
returns int
as
begin
declare @v_count int;
declare @g_scale int;
declare @i_scale int;
declare @m_item int;
if @g_scale_in=-1
begin
select count(*) as dd into v_count from khn_configgroup where config_id=@template_id and group_id=@group_id;
end
if @v_count>0
begin
select isnull(khn_group_scale,0) as cc into g_scale from khn_configgroup where config_id=@template_id and group_id=@group_id;
end
if @g_scale<>0

begin
set @g_scale=@g_scale_in
end
if @i_scale_in=-1
begin
select count(*) as qq into v_count from P_TEMPLATE_ITEM where P_TEMPLATE_GUID=@template_id and P_GROUP_GUID=@group_id and P_ITEM_GUID=@item_id;
if @v_count>0
begin
select isnull(p_item_scale,0) as aa into i_scale from P_TEMPLATE_ITEM where P_TEMPLATE_GUID=@template_id and P_GROUP_GUID=@group_id and P_ITEM_GUID=@item_id;
end

else
begin
set @i_scale=0;
end
end
else
begin

set @i_scale=@i_scale_in;

end

begin
select round(@total*@g_scale*@i_scale/10000,1) as ww into m_item
end
return @m_item;
end
go

报错信息:
消息 443,级别 16,状态 15,过程 get_max_item,第 11 行
在函数内对带副作用的运算符 'SELECT INTO' 的使用无效。
消息 443,级别 16,状态 15,过程 get_max_item,第 15 行
在函数内对带副作用的运算符 'SELECT INTO' 的使用无效。
消息 443,级别 16,状态 15,过程 get_max_item,第 24 行
在函数内对带副作用的运算符 'SELECT INTO' 的使用无效。
消息 443,级别 16,状态 15,过程 get_max_item,第 27 行
在函数内对带副作用的运算符 'SELECT INTO' 的使用无效。
消息 443,级别 16,状态 15,过程 get_max_item,第 43 行
在函数内对带副作用的运算符 'SELECT INTO' 的使用无效。
展开
 我来答
一如真a
2016-06-16 · TA获得超过369个赞
知道小有建树答主
回答量:666
采纳率:75%
帮助的人:336万
展开全部
存储过程可以 你就建存储过程呗
你这个 报错很明显 函数 不让你这么干
在函数内对带副作用的运算符 'SELECT INTO' 的使用无效。
你换个招试试
比如 select count(*)=@v_count as dd from khn_configgroup where config_id=@template_id and group_id=@group_id;
sqlsever函数变量如何赋值我也不是很清楚 没用过
或者用 set let
追问
重点是我这个必须要创建函数,不能创建过程啊。。。
追答
那你就看看 函数是怎么赋值的呗,你那个赋值是不对的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式