[资料库] 学习笔记 - case when then 和 预存程序


前言

我是一名即将毕业的大学生,最近为了未来,正在与学长学习资料库!
虽然说起来好像只是为了能有份工作,但在最近的学习过程中,发现我其实还蛮喜欢写程式的http://img2.58codes.com/2024/emoticon42.gif
很后悔没能早一点努力,但幸好还是跨出了这一步,希望能够持续努力,永远保持热情!!


正文

未来会持续将学习到的知识整理到这发文,当成是学习的笔记
因为我是新手,所以如果有观念不正确的地方,还希望能麻烦各位高手指教http://img2.58codes.com/2024/emoticon41.gif


今天要解的问题

一张表有5个栏位,每个栏位类型都为int ,值都是0
http://img2.58codes.com/2024/20133638Y1mc9PLQqA.png

有一个参数 @i
如果@i = 1 修改A栏位为1
如果@i = 2 修改B栏位为1
如果@i = 3 修改C栏位为1
如果@i = 4 修改D栏位为1
如果@i = 5 修改E栏位为1

我一开始解这题时,还差点要做一个网站什么的来让适用者输入参数,然后用if一个一个判断XD
后来才知道原来可以用资料库的预存程序以及CASE WHEN来写,像这样:
http://img2.58codes.com/2024/20133638r57fFrIU4u.png
会用ALTER是因为我改过很多次了XD

但是这样好像不够好,于是我又学习到可以加入动态查询的技巧来写
一开始的想法是这样:
http://img2.58codes.com/2024/20133638cMFqR533QS.jpg
但这样写会跳出INT转换失败的讯息,苦恼了我很久

问了学长后才知道CASE WHEN可以用在变数上面,不用把动态加在CASE WHEN,所以最后改成:
http://img2.58codes.com/2024/20133638DT6dRaqkKC.jpg

不知道各位高手是如何解这题的呢?
希望能够交流一下想法http://img2.58codes.com/2024/emoticon41.gif


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章