From 44156cad2e45cc3c4b685745d3389d1170b0aadc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=9F=B1=E8=8F=98?= <2365839121@qq.com> Date: Mon, 10 Oct 2022 05:38:55 +0000 Subject: [PATCH] =?UTF-8?q?35=20=E9=BB=84=E6=9F=B1=E8=8F=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 黄柱菘 <2365839121@qq.com> --- ...0\256\260 \345\202\250\345\255\230.md.url" | 2 + .../2022-10.7.sql" | 74 +++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 "35\351\273\204\346\237\261\350\217\230/\351\273\204\346\237\261\350\217\23035/2022-10-7 \347\254\224\350\256\260 \345\202\250\345\255\230.md.url" create mode 100644 "35\351\273\204\346\237\261\350\217\230/\351\273\204\346\237\261\350\217\23035/2022-10.7.sql" diff --git "a/35\351\273\204\346\237\261\350\217\230/\351\273\204\346\237\261\350\217\23035/2022-10-7 \347\254\224\350\256\260 \345\202\250\345\255\230.md.url" "b/35\351\273\204\346\237\261\350\217\230/\351\273\204\346\237\261\350\217\23035/2022-10-7 \347\254\224\350\256\260 \345\202\250\345\255\230.md.url" new file mode 100644 index 0000000..29e734d --- /dev/null +++ "b/35\351\273\204\346\237\261\350\217\230/\351\273\204\346\237\261\350\217\23035/2022-10-7 \347\254\224\350\256\260 \345\202\250\345\255\230.md.url" @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=https://gitee.com/level-21-software-class-4/advanced-sql/blob/master/07%20%E5%BB%96%E6%B2%BB%E5%85%88/%E7%AC%94%E8%AE%B0/2022-10-7%20%E7%AC%94%E8%AE%B0%20%E5%82%A8%E5%AD%98.md diff --git "a/35\351\273\204\346\237\261\350\217\230/\351\273\204\346\237\261\350\217\23035/2022-10.7.sql" "b/35\351\273\204\346\237\261\350\217\230/\351\273\204\346\237\261\350\217\23035/2022-10.7.sql" new file mode 100644 index 0000000..f425bdf --- /dev/null +++ "b/35\351\273\204\346\237\261\350\217\230/\351\273\204\346\237\261\350\217\23035/2022-10.7.sql" @@ -0,0 +1,74 @@ +--1. 洢ʵֲѯ˻͵п˻Ϣ,ʾпţ˻ + create proc minmoney + @cardno varchar(50) output, + @name varchar(50) output, + @money money output + as + begin + select @cardno=CardNo,@name=RealName,@money=CardMoney from BankCard b join AccountInfo a on b.AccountId=a.AccountId + where CardMoney in (select min(cardmoney) from BankCard) + end + declare @cardno varchar(50) ,@name varchar(50) ,@money money + exec minmoney @cardno output,@name output,@money output + select @cardno,@name,@money +--2. ģпǮпţǮʵִǮ + create proc inmoney + @incardno varchar(50), + @inmoney money + as + begin + insert into CardExchange + values (@incardno,@inmoney,0,GETDATE()) + update BankCard set CardMoney+=@inmoney where CardNo=@incardno + end + exec inmoney '6225125478544587',100000 +--3. ģпȡǮпţȡǮʵȡǮȡǮɹ1ȡǮʧܷ-1 + alter table bankcard add constraint money check(cardmoney>=0) + create proc outmoney + @outcardno varchar(50), + @outmoney money + as + begin + declare @false int=0 + update BankCard set CardMoney-=@outmoney where CardNo=@outcardno + set @false+=@@ERROR + if(@false=0) + begin + insert into CardExchange + values (@outcardno,0,@outmoney,GETDATE()) + print 1 + end + else + begin + print -1 + end + end + exec outmoney '6225125478544587',1000 +--4. **ѯijʱεдȡϢԼܽ**ȡܽ뿪ʼʱ䣬ʱ䣬ʾȡϢͬʱشܽȡܽ + create proc iomoney + @btime smalldatetime, + @etime smalldatetime + as + begin + select sum(MoneyInBank)ܽ,sum(MoneyOutBank)ȡܽ from cardexchange where ExchangeTime>@btime and ExchangeTime<@etime + end + exec iomoney '2022-9-1','2022-10-8' +--5. ****û룬ûȷ볤<8Զ8λ + +--(ʾ 0-9 float(rand()*10)) rand():0.0-1.0С float:ȡ + create proc mima + @username varchar(50), + @password varchar(50) + as + begin + declare @password1 varchar(50), + @uname varchar(50), + @accountid int + select @accountid=AccountInfo.AccountId,@password1=CardPwd,@uname=RealName from AccountInfo join BankCard on BankCard.AccountId=AccountInfo.AccountId + where RealName=@username + if len(@password1)<8 + begin + update BankCard set CardPwd=concat(right(rand(),4),right(rand(),4)) where AccountId=@accountid + end + end + exec mima '','123456' \ No newline at end of file -- Gitee