SQL常用流程控制语句总结
来源:互联网 发布:2017深圳人口分布数据 编辑:程序博客网 时间:2024/04/29 10:04
总结下平常能用到的较简单的sql流程控制语句~
一 IF ELSE
IF <条件表达式>
<命令行或程序块>
[ELSE [条件表达式]
<命令行或程序块>]
例子:
declare @a int , @b int
set @a =120
if( (select count(id) from table_0 where id =@b ) =1)
insert into table_1 values ( @a,1,1)
else
insert into table_2 values ( @a,1,1)
意思是:定义变量a 和b ,初始化a为120,如果表table_0里id等于b的记录有一条的话就将 (a,1,1)插入到表table_1里,否则插入到表table_2里。
二 CASE
CASE 命令有两种语句格式
CASE <运算式>
WHEN <运算式> THEN <运算式>
........................
WHEN <运算式> THEN <运算式>
[ELSE <运算式>]
END
CASE
WHEN <条件表达式> THEN <运算式>
.................
WHEN <条件表达式> THEN <运算式>
[ELSE <运算式>]
END
例子
use pangu
update employee
set e_wage =
case
when job_level = ’1’ then e_wage*2
when job_level = ’2’ then e_wage*3
when job_level = ’3’ then e_wage*4
else e_wage*1.05
end
case 只执行第一个匹配的子句
意思是:更新员工表里e_wage字段的值为原来的2倍,如果该记录的job_level值为1;
更新员工表里e_wage字段的值为原来的3倍,如果该记录的job_level值为2;
更新员工表里e_wage字段的值为原来的4倍,如果该记录的job_level值为3;
三 WHILE BEGIN BREAK CONTINUE END
WHILE <条件表达式>
BEGIN
<命令行或程序块>
[BREAK]
[CONTINUE]
[命令行或程序块]
END
例子:
declare @a int ,@b int
set @a=120
while(@a >100)
begin
insert into talbe values (@b ,1 ,1 )
set @a=@a-1
end
意思是:定义两变量a,b,初始化a等于120 ,如果a大于100,则插入表table一条记录,同时a减1,
循环执行到(@a >100)不成立为止。
来个综合点的例子吧,
declare @a ,@b
set @a=(select max(id) from talbe_0)
while(@a>100)
update table_1 set x = case when y=0 then '0' when y=1 then '1' when y=3 then '3' end
update table_2 set x2 = case when y2=0 then '0' else '1' end
set @a=@a-1
end
嗯,终于完了!想象力差点,举的例子都没什么实际意义~
- SQL常用流程控制语句总结
- SQL常用流程控制语句总结来源
- SQL流程控制语句
- SQL流程控制语句
- sql流程控制语句
- T-SQL流程控制语句
- PL/SQL流程控制语句
- SQL SERVER 流程控制语句
- PL/SQL流程控制语句
- SqlServer和Oracle中一些常用的sql语句5 流程控制语句
- SQL常用语句总结
- SQL常用语句总结
- sql常用语句总结
- SQL常用语句总结
- 常用SQL语句总结
- 常用SQL语句总结
- 常用SQL语句总结
- SQL常用语句总结
- gcc 4.2.2 与 ssh-4.6p1也不兼容?
- asp.net 备份和恢复SQL SERVER 数据库
- 软件测试管理--第一章 1.2节
- 删除电脑里的影子网卡
- 黑客攻防技巧:2分钟入侵网站全程实录(组图)
- SQL常用流程控制语句总结
- 保护你的代码——谁动了我的组件?
- linux指令
- 什么是whois服务器?
- Condor手册 - 2.5 - Submitting a Job 提交任务
- ORA-06574
- ASP.net中md5加密密码的方法
- .NET C/S(WinForm)开发技巧点滴
- c#使用shutdown关机命令让xp和vista关机