创建一个带输入参数和输出参数的存储过程
创建一个带输入参数和输出参数的存储过程,完成向学生表(S)中插入一条记录,记录值通过输入参数传递到存储过程中,存储过程中要对输入值进行验证和控制(如学号、姓名非空,学号不...
创建一个带输入参数和输出参数的存储过程,完成向学生表(S)中插入一条记录,记录值通过输入参数传递到存储过程中,存储过程中要对输入值进行验证和控制(如学号、姓名非空,学号不能重复,性别只能是男或女等),输出参数返回记录插入成功与否的信息(如‘记录成功插入!’、‘学号重复,记录未成功插入!’等信息);并在查询分析器中执行以验证结果。
展开
4个回答
展开全部
create proc Tproc
@id nchar(10),
@name nchar(20),
@sex nchar(10)
as
begin
declare @hasData nchar(10)
select @hasData=id from S where id=@id
if @hasData!=''
begin
print '学号重复'
return
end
if @name=''
begin
print '名字不能为空'
return
end
if(@sex!='男' and @sex!='女')
begin
print '性别只能是男或女'
return
end
else
begin
insert into S values(@id,@name,case @sex when '男' then 1 when '女' then 0 end)
if(@@ROWCOUNT>0)
print '记录成功插入!'
else
print '记录未成功插入!'
end
end
不知道是否符合你的要求,欢迎讨论!
@id nchar(10),
@name nchar(20),
@sex nchar(10)
as
begin
declare @hasData nchar(10)
select @hasData=id from S where id=@id
if @hasData!=''
begin
print '学号重复'
return
end
if @name=''
begin
print '名字不能为空'
return
end
if(@sex!='男' and @sex!='女')
begin
print '性别只能是男或女'
return
end
else
begin
insert into S values(@id,@name,case @sex when '男' then 1 when '女' then 0 end)
if(@@ROWCOUNT>0)
print '记录成功插入!'
else
print '记录未成功插入!'
end
end
不知道是否符合你的要求,欢迎讨论!
展开全部
这个验证过程交给Oracle来完成吧,建表时加约束就行了,不用建存储过程了
例:
create
table
students
(
id
varchar2(5)
primary
key,
--这是学号,主键,重复就会报错,也不能空
name
varchar2(20)
not
null,
--这是姓名,有非空约束
sex
char(2)
check
(sex='男'
or
sex='女')
--这是性别,定义了检查约束,只能是“男”或者"女"
);
例:
create
table
students
(
id
varchar2(5)
primary
key,
--这是学号,主键,重复就会报错,也不能空
name
varchar2(20)
not
null,
--这是姓名,有非空约束
sex
char(2)
check
(sex='男'
or
sex='女')
--这是性别,定义了检查约束,只能是“男”或者"女"
);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
MySQL教程4 MySQL8运算符、函数、存储过程及新增数据类型 17.之创建带有IN和OUT参数的存储过程 学习猿地
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
人家要的是带输出的。
Oracle:
procedure PROC_CheckDataIn (
p_vcXH in varchar2,
p_vcJGXX out varchar2 --提示信息
) is
begin
delete from tb where xh=p_vcXH;
p_vcJGXX:='删除数据成功!';
end;
Oracle:
procedure PROC_CheckDataIn (
p_vcXH in varchar2,
p_vcJGXX out varchar2 --提示信息
) is
begin
delete from tb where xh=p_vcXH;
p_vcJGXX:='删除数据成功!';
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询