·蓝桉· 2017-04-20 04:00 采纳率: 50%
浏览 806
已采纳

存储过程执行只能更新却不能插入 ,求帮助

图片说明图片说明图片说明图片说明图片说明图片说明

  • 写回答

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

    你可以叁考下代码

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 西南科技大学数字信号处理
  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥15 pyqt信号槽连接写法
  • ¥500 把面具戴到人脸上,请大家贡献智慧,别用大模型回答,大模型的答案没啥用
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。