From 54958076f3d2d0cbb4175aa3cfa11808f58c1bf5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=99=A8=E5=93=B2?= <2405244077@qq.com> Date: Sun, 25 Sep 2022 14:45:19 +0800 Subject: [PATCH] 18 --- .../9.20\346\270\270\346\240\207.md" | 28 ++++++ .../9.21\345\207\275\346\225\260.md" | 30 ++++++ ...45\350\257\242\344\275\234\344\270\232.md" | 92 ++++++++++++++++++ ...45\350\257\242\344\275\234\344\270\232.md" | 34 +++++++ ...6\350\241\214\344\277\241\346\201\257.png" | Bin 0 -> 30518 bytes ...06\351\241\265\347\264\242\345\274\225.md" | 0 .../9.15\350\247\206\345\233\276.md" | 0 .../9.19\344\272\213\345\212\241.md" | 27 +++++ ...30\347\272\247\347\254\224\350\256\260.md" | 0 .../9.20\346\270\270\346\240\207.md" | 29 ++++++ .../9.21\345\207\275\346\225\260.md" | 53 ++++++++++ .../9.22\346\255\273\351\224\201.md" | 29 ++++++ .../9.5\345\217\230\351\207\217.md" | 0 ...73\350\276\221\346\216\247\345\210\266.md" | 0 ....7\345\255\220\346\237\245\350\257\242.md" | 0 .../\347\254\224\350\256\260/9.8.md" | 0 16 files changed, 322 insertions(+) create mode 100644 "18\346\235\250\346\231\250\345\223\262/\344\275\234\344\270\232/9.20\346\270\270\346\240\207.md" create mode 100644 "18\346\235\250\346\231\250\345\223\262/\344\275\234\344\270\232/9.21\345\207\275\346\225\260.md" create mode 100644 "18\346\235\250\346\231\250\345\223\262/\344\275\234\344\270\232/9.6\346\237\245\350\257\242\344\275\234\344\270\232.md" create mode 100644 "18\346\235\250\346\231\250\345\223\262/\344\275\234\344\270\232/9.7\345\255\220\346\237\245\350\257\242\344\275\234\344\270\232.md" create mode 100644 "18\346\235\250\346\231\250\345\223\262/\344\275\234\344\270\232/\351\223\266\350\241\214\344\277\241\346\201\257.png" rename "18\346\235\250\346\231\250\345\223\262/9.14\345\210\206\351\241\265\347\264\242\345\274\225.md" => "18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.14\345\210\206\351\241\265\347\264\242\345\274\225.md" (100%) rename "18\346\235\250\346\231\250\345\223\262/9.15\350\247\206\345\233\276.md" => "18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.15\350\247\206\345\233\276.md" (100%) create mode 100644 "18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.19\344\272\213\345\212\241.md" rename "18\346\235\250\346\231\250\345\223\262/9.1SQL\351\253\230\347\272\247\347\254\224\350\256\260.md" => "18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.1SQL\351\253\230\347\272\247\347\254\224\350\256\260.md" (100%) create mode 100644 "18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.20\346\270\270\346\240\207.md" create mode 100644 "18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.21\345\207\275\346\225\260.md" create mode 100644 "18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.22\346\255\273\351\224\201.md" rename "18\346\235\250\346\231\250\345\223\262/9.5\345\217\230\351\207\217.md" => "18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.5\345\217\230\351\207\217.md" (100%) rename "18\346\235\250\346\231\250\345\223\262/9.6\351\200\273\350\276\221\346\216\247\345\210\266.md" => "18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.6\351\200\273\350\276\221\346\216\247\345\210\266.md" (100%) rename "18\346\235\250\346\231\250\345\223\262/9.7\345\255\220\346\237\245\350\257\242.md" => "18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.7\345\255\220\346\237\245\350\257\242.md" (100%) rename "18\346\235\250\346\231\250\345\223\262/9.8.md" => "18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.8.md" (100%) diff --git "a/18\346\235\250\346\231\250\345\223\262/\344\275\234\344\270\232/9.20\346\270\270\346\240\207.md" "b/18\346\235\250\346\231\250\345\223\262/\344\275\234\344\270\232/9.20\346\270\270\346\240\207.md" new file mode 100644 index 0000000..6db1ea3 --- /dev/null +++ "b/18\346\235\250\346\231\250\345\223\262/\344\275\234\344\270\232/9.20\346\270\270\346\240\207.md" @@ -0,0 +1,28 @@ +---创建学生游标,该游标包含(学生姓名,兴趣爱好,生源地,荣誉总数) +declare cur cursor scroll for select name,hobby,ori_loca,prize from tb_student tt,tb_inf_student it where tt.stu_num=it.stu_num +open cur +declare @name varchar(10),@aihao varchar(20),@location varchar(20) +fetch first from cur into @name,@hobby,@loca,@prize +print @name+' '+@aihao+' '+@location +----- 循环遍历161开头的学生信息 +declare St cursor scroll for (select * from tb_student where stu_num like '161%') + +open St + +declare @num int ,@n varchar(10),@Sex varchar(4),@Birt varchar(10) ,@sch varchar(20),@maj varchar(20) + +fetch first from St into @num,@n ,@Sex ,@Birt ,@sch ,@maj + +while (@@FETCH_STATUS=0) +begin + +print convert(varchar(20),@num)+','+@n+ ','+@Sex+','+@Birt+','+@sch+','+@maj + +fetch next from St into @num,@n ,@Sex ,@Birt ,@sch ,@maj + +end + +close St + + +deallocate St diff --git "a/18\346\235\250\346\231\250\345\223\262/\344\275\234\344\270\232/9.21\345\207\275\346\225\260.md" "b/18\346\235\250\346\231\250\345\223\262/\344\275\234\344\270\232/9.21\345\207\275\346\225\260.md" new file mode 100644 index 0000000..c1d39fe --- /dev/null +++ "b/18\346\235\250\346\231\250\345\223\262/\344\275\234\344\270\232/9.21\345\207\275\346\225\260.md" @@ -0,0 +1,30 @@ +--(1)编写一个函数求该银行的金额总和 +go +create function Sum() +returns decimal +as +begin + declare @sum decimal + select @sum = (select sum(CardMoney) from BankCard) + return @sum +end +go +select dbo.Sum() + +--(2)传入账户编号,返回账户真实姓名 +go +create function Name +@id int +returns varchar(10) +as + begin + declare @name varchar(10) + select @name = (select RealName from AccountInfo join BankCard on BankCard.AccountId=AccountInfo.AccountId where AccountInfo.AccountId=@id) + return @name + end +go +select dbo.Name(10) +select * from AccountInfo +select * from BankCard +select * from CardStateChange +select * from CardExchange \ No newline at end of file diff --git "a/18\346\235\250\346\231\250\345\223\262/\344\275\234\344\270\232/9.6\346\237\245\350\257\242\344\275\234\344\270\232.md" "b/18\346\235\250\346\231\250\345\223\262/\344\275\234\344\270\232/9.6\346\237\245\350\257\242\344\275\234\344\270\232.md" new file mode 100644 index 0000000..21a0ce9 --- /dev/null +++ "b/18\346\235\250\346\231\250\345\223\262/\344\275\234\344\270\232/9.6\346\237\245\350\257\242\344\275\234\344\270\232.md" @@ -0,0 +1,92 @@ +--1. 为赵云此人进行开户开卡操作,赵云身份证:420107199904054233 +declare @zy varchar(20), @zyp varchar(20),@zyN varchar(20),@zyT smalldatetime +set @zy='420107199904054233' +set @zyp='12345678978' +set @zyN='赵云' +set @zyT=GETDATE() +insert AccountInfo values(@zy,@zyp,@zyN,@zyT) + +declare @zyc varchar(30),@zyi int, @zym varchar(30),@zyq money ,@zyz int, @zyti smalldatetime +set @zyc='6225547854165656' +set @zyi='4' +set @zym='123456' +set @zyq='500000' +set @zyz='1' +set @zyti=GETDATE() +insert BankCard values(@zyc,@zyi,@zym,@zyq,@zyz,@zyti) + + + +--2. 需要求出张飞的银行卡卡号和余额,张飞身份证:420107199602034138 (1.使用连接查询,2.使用变量) +declare @ZF varchar(20),@Carmoney money +select @ZF= CardNo from AccountInfo inner join BankCard on AccountInfo.AccountId=BankCard.AccountId where BankCard.AccountId='3' +select @Carmoney= CardMoney from AccountInfo inner join BankCard on AccountInfo.AccountId=BankCard.AccountId where BankCard.AccountId='3' +print @ZF +print @Carmoney +--#### 逻辑控制 + +-- 条件分支if-else + + + +--​ 3.某用户银行卡号为“6225547854125656”,该用户执行取钱操作,取钱5000元,余额充足则进行取钱操作,并提示"取钱成功",否则提示“余额不足”。 +declare @Money money +select @Money=CardMoney from BankCard where CardNo='6225547854125656' +print @Money +if @Money>=5000 +begin + set @Money=@Money-5000 + print'取钱成功' + print @Money +end +else print'余额不足' +-- 条件分支:case-when + + + + +--​ 4.查询银行卡信息,将银行卡状态1,2,3,4分别转换为汉字“正常,挂失,冻结,注销”,并且根据银行卡余额显示银行卡等级 30万以下为“普通用户”,30万及以上为"VIP用户", +----显示列分别为卡号,身份证,姓名,余额,用户等级,银行卡状态。 + +select CardNo 卡号,AccountCode 身份证,RealName 姓名,CardMoney 余额, +case +when CardMoney>=300000 then 'VIP用户' +when CardMoney>=0 then '普通用户' +else '无' +end '用户等级', +case +when CardState='1' then '正常' +when CardState='2' then '挂失' +when CardState='3' then '冻结' +when CardState='4' then '注销' +end '银行卡状态' +from BankCard inner join AccountInfo on BankCard.AccountId=AccountInfo.AccountId +--**while** + + + +--​ 5.循环打印1-10。 +declare @a int=1 +while (@a<10) +begin + set @a=@a+1 + print @a +end + + +--6、99乘法表 +declare @i int = 1 + +while @i<=9 +begin + declare @j int = 1 + declare @result varchar(500) = '' + while @j<=@i + begin + + set @result = @result + cast(@i as varchar(1)) + ' * ' + cast(@j as varchar(1)) + ' = '+ cast(@i*@j as varchar(1)) + char(9) + set @j =@j + 1 + end + print @result + set @i = @i + 1 +end \ No newline at end of file diff --git "a/18\346\235\250\346\231\250\345\223\262/\344\275\234\344\270\232/9.7\345\255\220\346\237\245\350\257\242\344\275\234\344\270\232.md" "b/18\346\235\250\346\231\250\345\223\262/\344\275\234\344\270\232/9.7\345\255\220\346\237\245\350\257\242\344\275\234\344\270\232.md" new file mode 100644 index 0000000..ea479cb --- /dev/null +++ "b/18\346\235\250\346\231\250\345\223\262/\344\275\234\344\270\232/9.7\345\255\220\346\237\245\350\257\242\344\275\234\344\270\232.md" @@ -0,0 +1,34 @@ +--1. 关羽的银行卡号为"6225547858741263",查询出余额比关羽多的银行卡信息,显示卡号,身份证,姓名,余额。 +select bc.CardNo,ac.AccountCode,ac.RealName,bc.CardMoney from AccountInfo ac +inner join BankCard bc on ac.AccountId = bc.AccountId +where bc.CardMoney > all(select bc.CardMoney from AccountInfo ac + inner join BankCard bc on ac.AccountId = bc.AccountId + where ac.RealName = '关羽') + +--2. 从所有账户信息中查询出余额最高的交易明细(存钱取钱信息)。 +select bc.CardNo, ce.MoneyInBank 存钱 , ce.MoneyOutBank 取钱 from CardExchange ce +inner join BankCard bc on ce.CardNo = bc.CardNo +where bc.CardMoney = (select max(BankCard.CardMoney) from BankCard) + +--3. 查询有取款记录的银行卡及账户信息,显示卡号,身份证,姓名,余额。 +select b.* from CardStateChange c +inner join BankCard b on b.CardNo=c.CardNo +where c.CardNo =some (select CardNo from CardExchange where MoneyOutBank !=0 ) +--4. 查询出没有存款记录的银行卡及账户信息,显示卡号,身份证,姓名,余额。 +select b.* from CardStateChange c +inner join BankCard b on b.CardNo=c.CardNo +where c.CardNo =some (select CardNo from CardExchange where MoneyInBank =0 ) +--5. 关羽的银行卡号为"6225547858741263",查询当天是否有收到转账。 + +if exists(select * from CardTransfer where CardNoIn = '6225547858741263' +and convert(varchar(10),TransferTime, 120) = convert(varchar(10),getdate(), 120) +) + print '有转账记录' +else + print '没有转账记录' +--6. 查询出交易次数(存款取款操作)最多的银行卡账户信息,显示:卡号,身份证,姓名,余额,交易数。 + +select b.CardNo 卡号 ,AccountCode 身份证,RealName 姓名,CardMoney 余额,交易次数 from AccountInfo a +inner join BankCard b on a.AccountId=b.AccountId +inner join (select CardNo, count(*) 交易次数 from CardExchange group by CardNo) T on b.CardNo=T.CardNo +where 交易次数 =(select max(交易次数) from (select CardNo,count(*) 交易次数 from CardExchange group by CardNo) T) \ No newline at end of file diff --git "a/18\346\235\250\346\231\250\345\223\262/\344\275\234\344\270\232/\351\223\266\350\241\214\344\277\241\346\201\257.png" "b/18\346\235\250\346\231\250\345\223\262/\344\275\234\344\270\232/\351\223\266\350\241\214\344\277\241\346\201\257.png" new file mode 100644 index 0000000000000000000000000000000000000000..9d0d1fc04e0ac45731bf3619cb7d7f1a9260dfd5 GIT binary patch literal 30518 zcmeFYcT`hd_%0YkL_wM$y(lOsNKu;9pi)$tNbgO0iS$muLPtJCq!&SY6X}Ge^cHGD z34~q)fdHWd0{8I!?r-MKnz?sotyy#bm~|H`ivv0P?04_8_q*Tsd7d}&jfM&p1uF#z z1fqKNQt>Sabfx(6bNveNpP)629PsPL`hRvu!_&r;2|fz~-2uH)e5T`@zBTLj54&9k-`Nf%Db|7~?7ArPKb3!ej|)cj zbzHl4O|;FZh31t+|G~b!ousXwRNy?Nv&YSL*t=B`_O9Mm}{@s4e$IZ>p(FLZX)7lU@kBo?T9gfpfRMe43{{OLH%zjUD+(~6xoU!r=%`bW!Jxj*z_~*EQ?jD?2 zn<;6ORisWhMkzcf+VrgrsoV=V=V#7&n z$`xl4M||)nt>NPjf~*#hx%ru)7(dbo`v)TD4nHG2E~eekao9hy6@1vv8iIWw9TVQI z`DYc5J|kc}nf{q#bX?u}$ay>HN=PqN@(q$acjfl}uB>&b|*qbxVm}|2aQ#8AP zyW=-T=anb56-&YIvH+GP{uid&w{v&zRYn}d(WYg7wyNG}*6}~V0WjXmLLq&xa z=|CgHR%c@`H|}o_$14Z13k=jE9YrfyhoizDAs#iu`<}$xAh(C!l7XtEBpT#&ED}?g zA*SQ@e$cReURkm(-kZNSH(DCX(BsacFqB#9;}JWPar^X$u&YbJbmIKhoO508)G#Eg zRWXqazAf_w0Rt%AtV(sx-1Uz$_7s!X`*VJi!v1^CXmI144bG!qS!Or6zqnN-6%((bXVMeI7Q5jZ$V3OL&edQjjUyc4Fvcy_t+$tR?TO^wZ-)QCtc%^m9@*^u*`L;({?S-rR2pOsHv2!w-rjY5Z ztdh@I_Es9)N>NPK_fV7P{!s_fRRB_VxXs-P**-1Bc)K>w_Q}WuC$Ay6D{9LdJyRyP z;hfs1mYk)MiR$rArLF~uONw7gvQFW+^x!Tfkhgx-+_H)4r1eUm(-0G`6HWTyeO#hs zMBq4rwPB*~6*r$@L7UEU>quj>9(q}YoTM%2`SM_}C+(Ygd4Vn?o;}9O020uVpFxlQm(iM-R4|L19!;5}*F-K0qOC$%G;jG(X`gbT0UBwz8$UPUJ~m1$KCU z@sK!CWT>imh}FlE815(JzM3*kvk&5}myVXO0cFF{^Y=B2(Q8Uc_2o%@BQ}i~B|KJt z1Th87p~YTw2FItKCiUXE>yHzGw_qmhr-T3c`kKPndiF?G;dw`WoK)%cuUy@$0|wCa zs{)|UCm(p3^c~eR7=dO(C9XHz9(>Lpxtj}qLkxAx@*EaxoKtP7ApChPLA;fG9MBci zx8i)Aj_L-m!oJncS7^+*5S?C}Qp6vHFUX|IrzooomrKx>h!ERlCyb?(mzgoVRR>B6 zmJ;3hMQ%IA*}unZDAa5XBo|1SvqXAEl~bh7-!0X>+c>1SA z?Fcyqc3&0cNV@NPRY6SlatFB&We&wH#fA6orv{2^WJ3CO;Du>wqMZjrYt9k)ES;>8 zcl)0v3@JlcMKkk3T^MllNB?2?W_ru9XRC2ym6cq7FQVLLL}#1tYQdTgAGK}K74orC z!T~UUr37pBmPuUN3t?}mC`Vb1IQ(gGoc-R^4Vt!vN4oQGye3FCx45MCGms^ZVv!N{ z5f4UQDzINvZC2<&^9cQfB|pTP__<>#;`rjTBOaH&=~1kb$~nZlaBYYbBpmn>&w?1N zK}`&p7W*Lbn@i|}-Y$88ns((8%|Ge@f35?mU=+bwA~u)a5Z&J3vp02!ZrK}^=3cFv z?}(KZc$@(-zR0%NVT`8;EWxrfstC=;8P-sTK`Z<-NG!_7j@3ZC=aIZgzMx-!_bnE= zO3aMss-1M9n!imKje9+W6WX4!Vr?){vkKe?-UIhA) zBUNBdH~z4>(Bm9roa{zmIA5k2c|Xr|VgJ)JxUICUL@{-Zy@+e4)@D+PTA{HwN!
g?>oPlsv6p5nC`@C8wI{ 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

2?+x*)>ux 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 literal 0 HcmV?d00001 diff --git "a/18\346\235\250\346\231\250\345\223\262/9.14\345\210\206\351\241\265\347\264\242\345\274\225.md" "b/18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.14\345\210\206\351\241\265\347\264\242\345\274\225.md" similarity index 100% rename from "18\346\235\250\346\231\250\345\223\262/9.14\345\210\206\351\241\265\347\264\242\345\274\225.md" rename to "18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.14\345\210\206\351\241\265\347\264\242\345\274\225.md" diff --git "a/18\346\235\250\346\231\250\345\223\262/9.15\350\247\206\345\233\276.md" "b/18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.15\350\247\206\345\233\276.md" similarity index 100% rename from "18\346\235\250\346\231\250\345\223\262/9.15\350\247\206\345\233\276.md" rename to "18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.15\350\247\206\345\233\276.md" diff --git "a/18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.19\344\272\213\345\212\241.md" "b/18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.19\344\272\213\345\212\241.md" new file mode 100644 index 0000000..ac00e6c --- /dev/null +++ "b/18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.19\344\272\213\345\212\241.md" @@ -0,0 +1,27 @@ +## 事务 + +#### 概念 + +**事务( Transaction)由一次或者多次基本操作构成,或者说,事务由一条或者多条 SQL 语句构成。** + +**事务中的所有 SQL 语句是一个整体,共同进退,不可分割,要么全部执行成功,要么全部执行失败。** + +##### 一般来说,事务具有四个标准属性 + +##### 1.原子性 2.一致性 3.隔离性 4.持久性 + + + +#### 开始事务 + +COMMIT;或者START TRANSACTION; + +#### 提交事务 + +COMMIT; + +#### 回滚事务 + +Rollback; + +#### \ No newline at end of file diff --git "a/18\346\235\250\346\231\250\345\223\262/9.1SQL\351\253\230\347\272\247\347\254\224\350\256\260.md" "b/18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.1SQL\351\253\230\347\272\247\347\254\224\350\256\260.md" similarity index 100% rename from "18\346\235\250\346\231\250\345\223\262/9.1SQL\351\253\230\347\272\247\347\254\224\350\256\260.md" rename to "18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.1SQL\351\253\230\347\272\247\347\254\224\350\256\260.md" diff --git "a/18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.20\346\270\270\346\240\207.md" "b/18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.20\346\270\270\346\240\207.md" new file mode 100644 index 0000000..2201109 --- /dev/null +++ "b/18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.20\346\270\270\346\240\207.md" @@ -0,0 +1,29 @@ +## 游标 + +游标(cursor)是一个存储在MySQL服务器上的数据库查询,它不是一条SELECT语句,而是被该语句检索出来的结果集。在存储了游标之后,应用程序可以根据需要滚动或浏览其中的数据。 + +游标主要用于交互式应用,其中用户需要滚动屏幕上的数据,并对数据进行浏览或做出更改。不像多数DBMS,MySQL游标只能用于存储过程(和函数)。 + +#### 游标5个组成部分 + +1、声明 + +declare 游标名 cursor + +for + +select 语句 + + 2、打开 + +open 游标名; + + 3、从游标中查找信息 + +fetch...from 游标名 + +4、关闭 + +close 游标名; + +5、释放 \ No newline at end of file diff --git "a/18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.21\345\207\275\346\225\260.md" "b/18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.21\345\207\275\346\225\260.md" new file mode 100644 index 0000000..94fbac1 --- /dev/null +++ "b/18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.21\345\207\275\346\225\260.md" @@ -0,0 +1,53 @@ +## 函数 + +#### 函数分为 + +#### (1)系统函数: + +**从数据库返回在SQLSERVER中的值、对象或设置的特殊信息**(用于返回元数据或配置设置); + + + + +#### (2)自定义函数(方法:将一个功能封装成可重用的函数)。 + +##### (1)标量值函数(标量函数是基于输入的值,输出一个单一的值。) + +CREATE FUNCTION function_name(@parameter_name parameter_data_type) +RETURNS date_type + +[WITH ENCRYPTION] + +[AS] + +BEGIN + + function_body + + RETURN 表达式; + +END + +##### (2)表值函数(返回查询结果) + +表值函数提供强大的结果集生成能力。它可以在查询内部表或视图允许的任何地方使用。表值函数在使用上比返回一个结果集的[存储过程](https://so.csdn.net/so/search?q=存储过程&spm=1001.2101.3001.7020)更灵活,因为函数的结果集可以联接到查询中的其他表。 + +语法: + +create function 名称 + +([{@参数名称 参数类型[=默认值]}[,n]]) + +returns @局部变量 table(参数名 参数类型) + +[with encryption] + +[as] + +begin + +函数体 + +return 函数返回值 + +end \ No newline at end of file diff --git "a/18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.22\346\255\273\351\224\201.md" "b/18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.22\346\255\273\351\224\201.md" new file mode 100644 index 0000000..2b892b6 --- /dev/null +++ "b/18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.22\346\255\273\351\224\201.md" @@ -0,0 +1,29 @@ +## 死锁 + +#### 原因 + +##### SQL Server数据库死锁,通俗的讲就是两个或多个trans,同时请求对方正在请求的某个实际应用对象,而导致双方互相等待。简单的例子如下: + +sql server死锁表现一: + +>    一个用户A 访问表A(锁住了表A),然后又访问表B。 +>    另一个用户B 访问表B(锁住了表B),然后企图访问表A, +>    这时用户A由于用户B已经锁住表B,它必须等待用户B释放表B,才能继续,好了他老人家就只好老老实实在这等了,同样用户B要等用户A释放表A才能继续,这就造成死锁了。 + +sql server死锁解决方法: +   这种死锁是由于你的程序的BUG产生的,除了调整你的程序的逻辑别无他法 +   仔细分析你程序的逻辑, +   1:尽量避免同时锁定两个资源 +   2: 必须同时锁定两个资源时,要保证在任何时刻都应该按照相同的顺序来锁定资源. + +**sql server死锁表现二:** + +>    用户A读一条纪录,然后修改该条纪录。 +>    这时用户B修改该条纪录,这里用户A的事务里锁的性质由共享锁企图上升到独占锁(for update),而用户B里的独占锁由于A有共享锁存在所以必须等A释 +>    放掉共享锁,而A由于B的独占锁而无法上升的独占锁也就不可能释放共享锁,于是出现了死锁。 +>    这种死锁比较隐蔽,但其实在稍大点的项目中经常发生 + +**sql server死锁解决方法:** +   让用户A的事务(即先读后写类型的操作),在select 时用Update lock +语法如下: +   select * from table1 with(updlock) where .... \ No newline at end of file diff --git "a/18\346\235\250\346\231\250\345\223\262/9.5\345\217\230\351\207\217.md" "b/18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.5\345\217\230\351\207\217.md" similarity index 100% rename from "18\346\235\250\346\231\250\345\223\262/9.5\345\217\230\351\207\217.md" rename to "18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.5\345\217\230\351\207\217.md" diff --git "a/18\346\235\250\346\231\250\345\223\262/9.6\351\200\273\350\276\221\346\216\247\345\210\266.md" "b/18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.6\351\200\273\350\276\221\346\216\247\345\210\266.md" similarity index 100% rename from "18\346\235\250\346\231\250\345\223\262/9.6\351\200\273\350\276\221\346\216\247\345\210\266.md" rename to "18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.6\351\200\273\350\276\221\346\216\247\345\210\266.md" diff --git "a/18\346\235\250\346\231\250\345\223\262/9.7\345\255\220\346\237\245\350\257\242.md" "b/18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.7\345\255\220\346\237\245\350\257\242.md" similarity index 100% rename from "18\346\235\250\346\231\250\345\223\262/9.7\345\255\220\346\237\245\350\257\242.md" rename to "18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.7\345\255\220\346\237\245\350\257\242.md" diff --git "a/18\346\235\250\346\231\250\345\223\262/9.8.md" "b/18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.8.md" similarity index 100% rename from "18\346\235\250\346\231\250\345\223\262/9.8.md" rename to "18\346\235\250\346\231\250\345\223\262/\347\254\224\350\256\260/9.8.md" -- Gitee