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

来源:百度知道 编辑:UC知道 时间:2024/05/12 15:40:09
我建了一个存储,目的是当给出一个参数值,判断这个值是否在表中,如果不在表中则插入到表中,然后输出‘注册成功’,如果已经存在表中的话,则输出‘已经注册’
语句入下
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附近有语法错误,我应该怎么写才能达到我想要的

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

这样就一个结果了。