关于SQL 存储过程入门基础(流程控制)

这里我们讲一下存储过程的流程控制, if else,case ,while,这里没有for循环的 ,这些跟c,c++,c#等语言都差不过的。

一,首先来看if  else使用


代码如下:

if 条件
begin
sql 语句
end
else begin
sql语句
end

看个简单例子


代码如下:

declare @id int           --声明个变量
set @id=5                 --设置厨初始值
if(@id=1)
    begin
        print 'right'
    end
else if(@id=0)
    begin
        print 'error'
    end
else
    begin
         print 'default'
    end

结果我想大家都该晓得了,就不写出来了,这里的begin ,end 也可以不写,不过建议写,这个像c++代码的{},表示一块,写出来层次更加清晰。

当然if 嵌套也是可以的。  

二,While的使用

我们来计算下1到100的求和运算

代码如下:

Declare @i int,@sum int
set @i=0
set @sum=0
while @i<=100   --开始循环
begin
set @i=@i+1  --自增一
set @sum=@sum+@i
end
print @sum
结果
-----------

三,Case 多重选择的使用

代码如下:

Declare @iret int,@var varchar(10)
set @var='A'
select @iret=
case when @var='A' then 0
 when @var='B' then 1
 when @var='C' then 2
 when @var='D' then 3
 else -1
 print @iret

结果
-------

上面的这些基本流程控制,基本能满足我们日常的开发需求了,暂时想到的就这么多了,哪天想起其他情况,会适当补充。

时间: 2013-04-09

关于SQL 存储过程入门基础(变量)

上一篇我们讲到了SQL存储过程的基本定义,怎么创建,使用,这篇就来讲一下变量的使用. 变量分文局部变量和全局变量 局部变量是@开头,全局变量是@@开头,这里我们主要讲局部变量,全局变量我们后面再讲. 在c# 语言中,定义一个变量很简单,例如 复制代码 代码如下: int i=0; --定义加赋值. 在sql中,定义一个变量需要关键字DECLARE,还需要个特殊符号标记(@)表示是变量. 看看简单的声明语法: 复制代码 代码如下: Declare @Local_Var data_type @Loc

关于SQL 存储过程入门基础(基础知识)

大学里面对存储过程没有讲到什么,工作了一段时间,对存储过程还是没有用到,根本不需要去写存储过程,可能是做的软件方向的原因吧.为了以后发展,决定从零开始学习下. 这里看看存储过程的定义, 存储过程(Stored Procedure),是一组为了完成特定功能的SQL 语句,集经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数,如果该存储过程带有参数来执行. 在SQL Server 的系列版本中,存储过程分为两类:系统提供的存储过程和用户自定义存储过程. 系统SP,主要存储master 数据

Oracle PL/SQL语言入门基础

正在看的ORACLE教程是:Oracle PL/SQL语言入门基础.PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本文将讲述PL/SQL基础语法,结构和组件.以及如何设计并执行一个PL/SQL程序. PL/SQL的优点 从版本6开始PL/SQL就被可靠的整合到ORACLE中了,一旦掌握PL/SQL的优点以及其独有的数据管理的便利性,那么你很难想象ORACLE缺了PL

浅析Python基础-流程控制

Python编程语言的作用非常强大,而且其应用方便的特点也对开发人员起到了非常大的作用.在这里我们就可以先从Python流程控制关键字的相关概念开始了解,从而初步掌握这一语言的特点. Python是一种解释型.面向对象.动态数据类型的高级程序设计语言. Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年. 像Perl语言一样, Python 源代码同样遵循 GPL(GNU General Public License)协议. 哪门语言都会有流程控制

Lua基础教程之赋值语句、表达式、流程控制、函数学习笔记

赋值语句 注释,单行用(--)来表示:多行用(--[[ ... ]])来标示: 定义,lua中没有定义(申明数据类型),它是通过赋值来确定其数据类型的. 赋值,是改变一个变量的值和改变表域的最基本的方法. a = "hello" .. "world" Lua可以对多个变量同时赋值,变量列表和值列表的各个元素用逗号分开,赋值语句右边的值会依次赋给左边的变量.a, b = 10, 2*x <--> a=10; b=2*x 遇到赋值语句Lua会先计算右边所有的

PHP基础学习之流程控制的实现分析

PHP 有三大流程控制:顺序控制,分支控制,循环控制. 1.顺序控制:就是程序按顺序从上往下一步一步的执行. 2.分支控制:程序有选择的执行.又分单分支,多分支,多重分支. a.单分支:基本语法结构: if(条件表达式){ 语句; //.....; } 提示:条件表达式不管有多复杂,最终就是true或者false; eg: a=11; if(a>10){ echo "a>10"; } b.多分支:基本语法: if(条件表达式){ 语句; //.....; }else{ 语句

Java Mybatis框架入门基础教程

一.Mybatis介绍 MyBatis是一款一流的支持自定义SQL.存储过程和高级映射的持久化框架.MyBatis几乎消除了所有的JDBC代码,也基本不需要手工去 设置参数和获取检索结果.MyBatis能够使用简单的XML格式或者注解进行来配置,能够映射基本数据元素.Map接口和POJOs(普通java对象)到数据库中的记录. 二.MyBatis工作流程 (1)加载配置并初始化 触发条件:加载配置文件 配置来源于两个地方,一处是配置文件,一处是Java代码的注解,将SQL的配置信息加载成为一个个

xhEditor编辑器入门基础

1.1. 在线可视化HTML编辑器概述 在Web程序应用中,最常见的一种行为是信息和言论的发布和交流.而在信息发布的同时,往往会有对信息发布的格式.类型和功能上的需求,比如:加粗.下划线等等,以使文字信息能够更形象更美观的传达给阅读者,同时也提高信息发布的工作效率.在这个需求的背景下,HTML在线编辑器就应运而生了. 顾名思义,在线HTML编辑器就是在线编辑HTML代码的工具,它经常被应用于留言板留言.论坛发贴.Blog编写日志或等需要用户输入HTML的地方,是Web应用的常用模块之一.在线HT

微信小程序开发入门基础教程

微信小程序开发入门基础教程 本文档将带你一步步创建完成一个微信小程序,并可以在手机上体验该小程序的实际效果. 开发准备工作获取微信小程序的 AppID 登录 https://mp.weixin.qq.com ,就可以在网站的"设置"-"开发者设置"中,查看到微信小程序的 AppID 了,注意不可直接使用服务号或订阅号的 AppID . 下载开发工具 下载地址:https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/dow