2条回答 默认 最新
- Application_net 2017-04-20 11:36关注
/*--3.开户的存储过程--*/
if exists (select * from sysobjects where name = 'usp_openAccount')
drop proc usp_openAccount
GO
create procedure usp_openAccount @customerName char(8),@PID char(18),@telephone char(13)
,@openMoney money,@savingName char(8),@address varchar(50)=''
AS
DECLARE @mycardID char(19),@cur_customerID int, @savingID int
--调用产生随机卡号的存储过程获得随机卡号
EXECUTE usp_randCardID @mycardID OUTPUT
while exists(SELECT * FROM cardInfo WHERE cardID=@mycardID)
EXECUTE usp_randCardID @mycardID OUTPUT
print '尊敬的客户,开户成功!系统为您产生的随机卡号为:'+@mycardID
print '开户日期'+convert(char(10),getdate(),111)+' 开户金额:'+convert(varchar(20),@openMoney)
IF not exists(select * from userInfo where PID=@PID)
INSERT INTO userInfo(customerName,PID,telephone,address )
VALUES(@customerName,@PID,@telephone,@address)
SELECT @savingID = savingID FROM deposit WHERE savingName =@savingName
-- SELECT savingID FROM deposit WHERE savingName ='活期'
if @savingID is NULL
BEGIN
RAISERROR('存款类型不正确,请重新输入!',16,1)
RETURN -1
END
--PRINT CAST(@savingID AS varchar(10))
select @cur_customerID=customerID from userInfo where PID=@PID
--PRINT CAST(@cur_customerID AS varchar(10))
INSERT INTO cardInfo(cardID,savingID,openMoney,balance,customerID)
VALUES(@mycardID,@savingID,@openMoney,@openMoney,@cur_customerID)
GO--调用存储过程重新开户
EXEC usp_openAccount '王五','334456889012678','2222-63598978',1000,'活期','河南新乡'
EXEC usp_openAccount '赵二','213445678912342222','0760-44446666',1,'定期一年'
select * from vw_userInfo
select * from vw_cardInfo
GO你可以叁考下代码
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 西南科技大学数字信号处理
- ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
- ¥30 STM32 INMP441无法读取数据
- ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
- ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
- ¥15 用visualstudio2022创建vue项目后无法启动
- ¥15 x趋于0时tanx-sinx极限可以拆开算吗
- ¥15 pyqt信号槽连接写法
- ¥500 把面具戴到人脸上,请大家贡献智慧,别用大模型回答,大模型的答案没啥用
- ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。