sql server 存储过程中输出语句的问题

我建了一个存储,目的是当给出一个参数值,判断这个值是否在表中,如果不在表中则插入到表中,然后输出‘注册成功’,如果已经存在表中的话,则输出‘已经注册’语句入下CREATE... 我建了一个存储,目的是当给出一个参数值,判断这个值是否在表中,如果不在表中则插入到表中,然后输出‘注册成功’,如果已经存在表中的话,则输出‘已经注册’
语句入下
CREATE PROCEDURE dt_employee_svcnum
@v_svcnum char(11)
AS
print '注册成功'
if @v_svcnum not in (select @v_svcnum from mgms_mobile_newopt_employee_info)
insert into mgms_mobile_newopt_employee_info (emp_svcnum,emp_score,flag,other)
values (@v_svcnum,0,0,0)
else
if @v_svcnum in (select @v_svcnum from mgms_mobile_newopt_employee_info)
print'已经注册'
GO
这样写语法上是没有错,但是执行后会把两个结果都输出,我只想输出一个结果
CREATE PROCEDURE dt_employee_svcnum
@v_svcnum char(11)
AS
if @v_svcnum not in (select @v_svcnum from mgms_mobile_newopt_employee_info)
insert into mgms_mobile_newopt_employee_info (emp_svcnum,emp_score,flag,other)
values (@v_svcnum,0,0,0)
print '注册成功'
else
if @v_svcnum in (select @v_svcnum from mgms_mobile_newopt_employee_info)
print'已经注册'
GO
但老是提示print附近有语法错误,我应该怎么写才能达到我想要的结果(只输出一个结果,要么是‘注册成功’,要么是‘已经注册’)
首先先谢谢这位朋友。刚才按你写的我试了一下,但不管返回值给的是什么,都输出的是‘已经注册’,是不是v_svcnum的值要清空后再赋值啊?sql server我也是刚接触,不是太懂,朋友,你有QQ吗?可以加上你进一步探讨一下吗?呵呵。
展开
 我来答
ba527
2007-03-26 · TA获得超过120个赞
知道小有建树答主
回答量:474
采纳率:0%
帮助的人:221万
展开全部
CREATE PROCEDURE dt_employee_svcnum
@v_svcnum char(11)
AS
if @v_svcnum not in (select @v_svcnum from mgms_mobile_newopt_employee_info)
BEGIN
insert into mgms_mobile_newopt_employee_info (emp_svcnum,emp_score,flag,other)
values (@v_svcnum,0,0,0)
print '注册成功'
END
else
if @v_svcnum in (select @v_svcnum from mgms_mobile_newopt_employee_info)
print'已经注册'
GO

这样就一个结果了。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式