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 ...
随机推荐
- linux内核追踪(trace)(QEMU+gdb)
1.引言 Linux内核是一个很大的模块,如果只是看源码有时会难以理解Linux内核的一些代码设计情况,如果可以结合Linux内核运行同时阅读源码再好不过,本文大致介绍Linux内核追踪方式,采用工具 ...
- mysql常见字符串处理函数
- HTML5与CSS3网页设计
<!--一个网页的基本结构写法--> <!doctype html> <html> <head>//头部 <title>标题</tit ...
- CentOS 7.0 防火墙操作
CentOS 7.0默认使用的是firewall作为防火墙,之前版本是使用iptables.所以在CentOS 7执行下面命令是无法查看防火墙状态的. [root@localhost ~]# serv ...
- VB
on error resume next: 从该语句开始,遇到错误时程序不会中止,也不会出现错误提示,将继续运行.作用范围直至程序结束或语句所在函数等结束 Public Property :可读也可写 ...
- A - Chess Placing CodeForces - 985A
You are given a chessboard of size 1 × n. It is guaranteed that n is even. The chessboard is painted ...
- jquery实现漂亮的轮播图
今天工作中要用到一个轮播功能,在网上找了一些,觉得有些过于繁琐,于是自己动手写了一个,效果如图: 代码如下: <!DOCTYPE html> <html lang="en& ...
- vue---class和style的基本用法
不多BB了 直接上代码了 通俗移动易懂总结了5种常用改变样式 的形式 <style> .actived2{ color:red; } </style> </head> ...
- html5手机浏览器启动微信客户端支付实例
html5手机浏览器启动微信客户端支付实例,外部浏览器html5微信支付技术,如何在手机浏览器微信支付,在微信客户端外的移动端网页使用微信支付 首先在微信支付官网https://pay.weixin. ...
- PHP 扩展 trie-tree, swoole过滤敏感词方案
在一些app,web中评论以及一些文章会看到一些*等,除了特定的不显示外,我们会把用户输入的一些敏感字符做处理,具体显示为*还是其他字符按照业务区实现. 下面简单介绍下业务处理. 原文地址:小时刻个人 ...