创建存储过程



/*
**********************************************************************
* 文件名:            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、付费专栏及课程。

余额充值