SQL Server变量杂谈
学习SQL的过程有进步的话还是一件很美妙的事情的
在第一家公司虽然只呆了两年,但是感觉是我进步最快的两年。那时候工作和生活都挺充实的,每天都有一点点的收获和付出,其中最大的收获莫过于掌握一些核心技能。
在这两年里,工作上有不懂的基本上都是自己先想办法去解决,然后才是问度娘,最后才是找我的上司。因为是新手的缘故吧,只要有人能告诉我一点技巧性的东西,我都会用SQL语句记录下来,久而久之到我离职的时候,竟然有好几百个SQL脚本了。我想这应该算得上是一个好习惯!
另外一个就是从度娘上也找到了不少有用的东西,那时候每天都是给业务部门提数据,随着对业务的不断了解,我的上司也给了我一些新的任务。好些东西工作中虽然都用过,但是一些流程性的东西如果用平时的SQL去实现还是感觉有点费劲,所以就找度娘看看有没有什么好的方法。那时候找到的一个参数化的方法,感觉效率还不错。大致的语句如下:
DECLARE @DEPTID VARCHAR2(20)
DECLARE @DEPTNAME VARCHAR2(50)
SET @DEPTID='170101'
--用SET方法给变量赋值 , 此方法一次只能给一个变量赋值
SELECT @DEPTNAME=DEPTNAME FROM DEPT WHERE DEPTID=@DEPTID
--查询部门ID为'170101'的部门名称赋值给@DEPTNAME变量 ,此方法能一次多个变量赋值
这样在查询的时候就只需要将@DEPTID的值传进去就可以完成获取该参数对应的@DEPTNAME,省掉了许多重复输入参数的工作。当然这只是一个简单的例子,只能解决一些简单的问题。一些复杂的写法就要用到游标和循环之类的啦,这里暂时不探讨了。所以多问问度娘还是有好处滴!这里还要说一下问度娘的方法,有些时候之所以我们找不到符合自己问题的网页,很大部分原因是因为我们输入的关键字的原因。这个我也是问多了发现的一个小技巧,平时遇到的一些问题你得用最短的语句来描述他们。大家可以慢慢去体会一下。
至于我的上司,我之前说过他是我非常感激的一个人,因为他真的教会了很多东西,不只是技术问题。
SQL Server变量杂谈的更多相关文章
- SQL Server变量赋值的方法
SQL Server变量赋值我们经常会遇到,下面就为您介绍SQL Server变量赋值的两种方法,希望可以对您学习SQL Server变量赋值有所帮助. SQL Server中对已经定义的SQL Se ...
- SQL SERVER 变量的使用和样例
定义和使用局部变量:说明: 局部变量是用户可自定义的变量. 作用范围仅在程序内部. 局部变量的名称是用户自定义的,命名的局部变量名要符合SQL Server 2000标识符命名规则=>以@开 在 ...
- sql server 变量 字符串拼接
参考:SQL server中null+字符串,isnull以及把查询结果赋给一个字符变量组成另一个查询语句 1.开始定义的字符串都为null.例如:declare @sql,那么@sql就是null ...
- 数据库开发基础-SQl Server 变量、运算符、if、while
变量: SQL语言也跟其他编程语言一样,拥有变量.分支.循环等控制语句. 在SQL语言里面把变量分为局部变量和全局变量,全局变量又称系统变量. 局部变量: 使用declare关键字给变量声明,语法非常 ...
- SQL server 变量、运算符
一.三个表的练习 表一:学生表 student学号:code int (主键)从1开始姓名:name varchar(50)性别:sex char(10)班级:banji char(10)语文教师编号 ...
- (4.24)sql server变量中set与select的区别
SET vs SELECT是SQL极客之间讨论的常见话题,也是最受欢迎的面试问题之一.SET用于为变量赋值,SELECT用于赋值或从变量/ table / view等中选择值. 让我们看看在不同场景中 ...
- SQL server 变量if,while,存储过程
一.变量 1.if循环 2. 3.while循环 declare @ss int set @ss =2while @ss<10begin print 'Hello' set @ss=@ss+1e ...
- SQL Server 变量定义
declare @id intdeclare @name char(10) --注意:char(10)为10位,要是位数小了会让数据出错set @id=1 set @name='sssss'selec ...
- sql server 变量和select 赋值的联合使用demo
) ) select @cltcode=cltcode,@brand=brand from prosamplehd CREATE table #t ( cltcode ), brand ) ) INS ...
随机推荐
- JNI由浅入深_5_基本类型应用
1.基本类型应用 对于JNI处理基本类型还是比较简单的,下面是Java代码: <span style="font-size:14px;"> public native ...
- C++获取毫秒级时间戳
#include<chrono> auto timeNow = chrono::duration_cast<chrono::milliseconds>(chrono::sy ...
- #leetcode刷题之路19-删除链表的倒数第N个节点
给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点.示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1-& ...
- VUE 跳转另一页面返回之前页面刷新,但数据依然存在
在第一个页面填写数据后存入本地缓存: 再次跳转回来时判断是否填入数据,如果有数据,将缓存数据填写上.
- 用户从地址栏输入url,按下enter键后,直到页面加载完成的这个过程都发生了什么?
流程大概描述一下: 用户将url输入后,服务器接受到请求,然后将这个请求进行处理,然后将处理后的结果返回给浏览器,浏览器将该结果以页面的形式呈现给用户. 详细描述: 1:用户将url(例如www.ba ...
- Sql主从同步服务
主服务器A:192.168.1.102从服务器B:192.168.1.103 先关掉主服务器phpstudy,把数据库备份到从服务器 1.授权用户:在A服务器新建一个从账号锁定IP GRANT REP ...
- Microbit蓝芽配对
Microbit蓝芽配对 (Bluetooth Pairing) Microbit 可以像手机或平板与其他蓝芽装置一样,一旦做完第一次配对完就可以使用”蓝芽服务” paired with the mi ...
- devise定义多个authentication_keys
在你的model中加入 def self.find_for_database_authentication(warden_conditions) conditions = warden_conditi ...
- Go 跨域请求问题
在使用go语言写测试服务的时候遇到了前端跨域请求问题,只需在go中加入 w.Header().Set("Access-Control-Allow-Origin", "*& ...
- Java基本修饰符
java中的修饰符分为类修饰符,字段修饰符,方法修饰符.根据功能的不同,主要分为以下几种: *权限访问修饰符(可以用来修饰类.方法和字段) 适用范围<访问权限范围越小,安全性越高> 访问权 ...