SQL高级语言

今天学习了SQL高级语言

触发器、存储过程、视图等

--存贮过程格式

--create procedure name [email protected].... --as --begin

--end

---execute name 参数1  参数2

----无参数的存贮过程执行

create procedure proc2

as

begin

select * from 职工 where 工资>2000

end

execute proc2

--有参数的存贮过程

create procedure proc4 @x1 int,@x2 int,@x3 int

as

begin

declare @max int if @x1>@x2

set @[email protected]

else

set @[email protected]

if  @x3>@max

set @[email protected]

print ‘3个数字中的最大值是‘+cast(@max as varchar(50)) end

execute proc4 15,18,39

视图

--视图

create view v1
as
select 仓库号,城市,面积 from 仓库

create view v2
as
select 姓名,工资 from 职工 where 工资>1800

create view v3
as
select 仓库.仓库号,城市,面积,创建时间,姓名,性别,工资 from 仓库,职工 where 仓库.仓库号=职工.仓库号

alter view v2
as
select 仓库.仓库号,城市,面积 from 仓库

drop view v3

create view test
as
select * from 仓库

select * from test

update test set 面积=面积+88 where 仓库号=‘wh1‘

delete test where 仓库号=‘wh1‘

触发器

--触发器是一种特殊的存贮过程,他就相当于c#中的事件触发器主要是通过事件触发而被执行的
--create trigger 触发器名称 on 表 for insert[update,delete] as
-- begin
--程序块
--end

create trigger rockyR on 仓库 for update
as
begin

   insert into 仓库(仓库号,城市,面积,创建时间) values(‘wh01‘,‘郑州‘,1800,‘2014-12-12‘),(‘wh02‘,‘北京‘,1700,‘2014-12-13‘),(‘wh03‘,‘上海‘,1600,‘2014-12-15‘)
end

update 仓库 set 面积=面积-10 where 仓库号=‘wh2‘
create trigger student_trigger
 on class
 after update
 as
 declare @count_student int
 select @count_student=@@rowcount
 print ‘一共修改了‘+char(48[email protected]_student)+‘行‘
 return
 go

 use db_buiness
 go
 update class set tClassName=‘14网普‘ where tClassId=10
 go
 exec sp_help student_trigger

 exec sp_helptext student_trigger

循环语句

declare @cj float,@str varchar(60)
set @cj=90
set @str=
case
    when @cj>100 or  @cj<0 then ‘您输入的成绩不对,成绩应该在0-100之间‘
    when @cj>=60 and  @cj<70 then ‘及格‘
    when @cj>=70 and  @cj<80 then ‘中等‘
    when @cj>=80 and  @cj<90 then  ‘良好‘
    when @cj>=90 and  @cj<=100 then ‘优秀‘
    else
    ‘不及格‘
 end

 print ‘该学生的成绩评语是‘[email protected] 

 --case [表达式]
 --   when  条件表达式1 then  结果1
 --   when  条件表达式2  then  结果2
 --  ........
 --  else
 --    结果表达式n
 --  end
--while 条件表达式
  -- begin
  --命令行或程序
  -- end

  declare @x int,@sum int
  select @x=0,@sum=0
 while @x<=100
  begin
  set @[email protected][email protected]
  set @[email protected]+1
   end

 print ‘1-100之间的和‘+cast(@sum as varchar(50))

continue

--continue

  declare @x int,@sum int
  select @x=0,@sum=0
  while @x<100
    begin
    set @[email protected]+1
      if @x%2=1
      continue
    set @[email protected][email protected]

    end

    print ‘偶数和‘+cast(@sum as varchar(50))

break

--break
   declare @x int,@sum int
   select @x=0,@sum=0
   while @x<=10
   begin
   set @[email protected]+1
   set @[email protected][email protected]
   if @sum>30
   break
   end

   print ‘结果‘+cast(@sum as varchar(50))
时间: 2024-08-05 19:36:06

SQL高级语言的相关文章

关于 Hadoop 的那些事

Hadoop以前是,现在仍然是大数据批处理领域的王者.Hadoop逐渐完善的生态体系,也让Hadoop广泛应用于各行业. 本文首先介绍Hadoop的架构和原理,侧重于Map-Reduce计算部分.再以简单示例带大家入门. 一.Hadoop 介绍 Hadoop 是什么 Hadoop是一个开发和运行大规模数据分析程序的软件平台,是隶属Apache的一个用java语言实现的开源软件框架,在大量普通服务器组成的集群中对海量数据进行分布式计算. a java based software framewor

HQL的一些语句总结

HQL原文来自:http://slaytanic.blog.51cto.com/2057708/782175/   Slaytanic老师 关于Hadoop的介绍来自:http://www.cnblogs.com/shishanyuan/p/4629300.html   石山园老师,他的Hadoop博客写得很好,有兴趣可以去看下 Hive 是facebook开源的一个基于hadoop框架的查询工具,也就是说,需要用hive的话,就要先安装hadoop. Hadoop的生态系统大致如下: l  H

Hadoop生态圈介绍及入门(转)

本帖最后由 howtodown 于 2015-4-2 23:15 编辑 问题导读 1.Hadoop生态圈介绍了哪些组件,分别都是什么? 2.大数据与Hadoop是什么关系? 本章主要内容: 理解大数据的挑战 了解Hadoop生态圈 了解Hadoop发行版 使用基于Hadoop的企业级应用 你可能听别人说过,我们生活在“大数据”的环境中.技术驱动着当今世界的发展,计算能力飞速增长,电子设备越来越普遍,因特网越来越容易接入,与此同时,比以往任何时候都多的数据正在被传输和收集. 企业正在以惊人的速度产

hadoop 讲解

大数据的5V特点(IBM提出): Volume(大量).Velocity(高速).Variety(多样).Value(低价值密度).Veracity(真实性)大数据的应用: 预测犯罪的发生:预测禽流感的散布:美国选举结果:利用手机定位数据和交通数据建立城市规划:电商把假货卖给谁等等.大数据涉及到的技术: 数据采集: 数据存储: 数据处理/分析/挖掘: 可视化.Hadoop Hadoop是一个由Apache基金会所开发的分布式系统基础架构. Hadoop实现了一个分布式文件系统(Hadoop Di

Java下拼接执行动态SQL语句(转)

在实际业务中经常需要拼接动态SQL来完成复杂数据计算,网上各类技术论坛都有讨论,比如下面这些问题: http://bbs.csdn.net/topics/390876591 http://bbs.csdn.net/topics/390981627 https://www.linkedin.com/groups/SQL-Query-Help-needed-137774.S.5948812806903119877?trk=groups_items_see_more-0-b-ttl http://bb

[Oracle系列整理04] oracle pl/sql 基础

PL/SQL块中只能直接嵌入SELECT,DML(INSERT,UPDATE,DELETE)以及事务控制语句 (COMMIT,ROLLBACK,SAVEPOINT),而不能直接嵌入DDL语句(CREATE,ALTER,DROP)和DCL语句 (GRANT,REVOKE) 1.检索单行数据    1.1使用标量变量接受数据  v_ename emp.ename%type;  v_sal   emp.sal%type;  select ename,sal into v_ename,v_sal fro

Oracle PL/SQL随堂笔记总结

1.pl/sql编程 1.理解oracle的pl/sql的概念    2.掌握pl/sql编程技术(过程.函数.触发器)    pl/sql是标准sql语句的扩展    简介        1.过程.函数.触发器都是由pl/sql编写        2.过程.函数.触发器是在oracle中        3.pl/sql是非常强大的过程语言        4.过程.函数等可以在java程序被调用    学习必要性:        1.提高应用程序的性能        2.模块化的设计思想    

[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功)

原文:[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功) [顶]ORACLE PL/SQL编程详解之二: PL/SQL块结构和组成元素(为山九仞,岂一日之功) 继上四篇:ORACLE PL/SQL编程之八:把触发器说透                ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!)                [推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到) [推荐]

[推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介(千里之行,始于足下)

原文:[推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介(千里之行,始于足下) [推荐]ORACLE PL/SQL编程详解之一: PL/SQL 程序设计简介(千里之行,始于足下) ——通过知识共享树立个人品牌. 继上六篇: [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功) [推荐]ORACLE PL/SQL编程详解之三:PL/SQL流程控制语句(不给规则,不成方圆) [推荐]ORACLE PL/SQL编程之四:把游标说透(