创建存储过程

本文介绍了一个使用SQL创建存储过程的具体实例,该过程用于向学生信息表中插入新记录,并通过输出参数返回操作结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



/*
**********************************************************************
* 文件名:            createprocedure.sql
* 功能:              创建存储过程
* 创建时间:            2008-4-16
* 创建人:            XSing
* 最后修改时间:        2008-4-16
* 最后修改人:        XSing
**********************************************************************
*/


if exists(select 1 from sysobjects where [id]= object_id(N'[dbo].[pro_Student_insert]')
and [xtype] in(N'P'))
drop procedure [dbo].[pro_Student_insert]
go
create procedure [dbo].[pro_Student_insert]
(
@no varchar(9),
@name varchar(8),
@sex bit = 1,
@birthday smalldatetime = '1988-8-8',
@resault varchar(50) output --输出参数
)
as
--declare @sql varchar(200)
if exists(select 1 from Student where Sno =@no)
begin
set @resault = N'学号重复,请勿反复输入。'
return
end
--以下三种方式都可以实现数据插入,前两种使用了CONVERT方法处理,只插入日期,第三种可插入时间。第一种方法俗称动态SQL。
--
@1:set @sql = 'insert Student values('''+@no+''','''+@name+''','+str(@sex)+','''+convert(char(10),@birthday,120)+''')'
--
exec(@sql)
--
@2:
insert Student values(@no,@name,@sex,convert(char(10),@birthday,120))
--@3:insert Student values(@no,@name,@sex,@birthday)
if (@@error=0)--@@error int,系统参数,记录SQL语句执行情况,0为无错误,其它为错误代码
begin
set @resault = N'输入成功'
return
end
if (@@error<>0)
begin
set @resault = N'失败,请检查数据再试、或者联系管理员。'
return
end
go
--测试存储过程
declare @aaa varchar(50)
exec pro_Student_insert 'AP0808809','魔骨',1,'1985-6-8',@aaa output
print @aaa
go
declare @aaa varchar(50)
exec pro_Student_insert 'AP0808810','魔奴',1,'1999-9-9',@aaa output
print @aaa
go




 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值