PLSQL语句

DECLARE 声明部分

BEGIN 程序编写,SQL语句

EXECPTION 处理异常

END;

/

声明部分(DECLARE)

SQL> set serveroutput on --打开输出

SQL> declare

  2  v_num number;

  3  begin

  4  v_num:=30;

  5  dbms_output.put_line('V_NUM'||v_num);

  6  end;

  7  /

V_NUM30

查找empno为7900的员工的名字

declare

v1 scott.emp.ename%type;

v2 scott.emp.sal%type;

begin

select ename,sal into v1,v2 from scott.emp where empno=7900;

dbms_output.put_line('ename:'||v1);

dbms_output.put_line('sal:'||v2);

end;

/

set serveroutput on

/

查找雇员号和姓名

set serveroutput on

declare

   v_eno number;

   v_ename varchar2(10);

   begin

   v_eno:=&empno;

   select ename into v_ename from emp where empno=v_eno;

   dbms_output.put_line('number:'||v_eno||'name:'||v_ename);

   end;

   /

求平均工资

SQL> !vi test.sql

SQL> !cat test.sql

declare

v_avgsal number(6,2);

begin

select avg(sal) into v_avgsal from scott.emp where deptno=&no;

dbms_output.put_line('avg_sal:'||v_avgsal);

end;

SQL> @test.sql

  7  /

Enter value for no: 20

old   4: select avg(sal) into v_avgsal from scott.emp where deptno=&no;

new   4: select avg(sal) into v_avgsal from scott.emp where deptno=20;

PL/SQL procedure successfully completed.

声明变量的语法

组成:

CONSTANT:定义常量

NOT NULL:表示此变量不允许设置为NULL

:=value:表示在变量声明时,设置好其初始化内容

DECLARE

V_resultA CONSTANT NUMBER NOT NULL:=100;

BEGIN

DBMS_OUTPUT.put_line('v_resultA常量内容:'||(v_resultA));

END;

/

使用%TYPE声明变量类型(对列类型赋值)

DECLARE

eno emp.emono%TYPE;

ename emp.ename%TYPE;

BEGIN

  DBMS_OUTPUT.put_line(请输入雇员编号:);

  dbms_output.put_line('sal:'||v2);

end;

使用%ROWTYPE标记可以定义表中一行记录的类型(对行类型赋值)

SQL> DECLARE

  2  deptRow dept%ROWTYPE;

  3  BEGIN

  4  SELECT * INTO deptRow FROM dept WHERE deptno=10;

  5  DBMS_OUTPUT.put_line('deptno:'||deptRow.deptno||',name:'||deptRow.dname||',loc:'||deptRow.loc);

  6  end;

  7  /

使用关系运算符

DECLARE

        v_url VARCHAR2(50):='www.vdedu.com.cn';

        v_num1 NUMBER:=80;

        v_num2 NUMBER:=30;

BEGIN

        IF v_num1>v_num2 THEN

                DBMS_OUTPUT.put_line('A');

        END IF;

        IF v_url LIKE '%vdedu%' THEN

                DBMS_OUTPUT.put_line('includes vdedu');

        END IF;

END;

 

 

AND   OR   NOT运算符

 

DECLARE

v_flag1 BOOLEAN:=TRUE;

v_flag2 BOOLEAN:=FALSE;

v_flag3 BOOLEAN;

BEGIN

IF v_flag1 and (NOT v_flag2) THEN

DBMS_OUTPUT.PUT_LINE('1');

END IF;

IF v_flag1 or v_flag3 THEN

DBMS_OUTPUT.PUT_LINE('2');

END IF;

IF v_flag1 and v_flag3 is null THEN

DBMS_OUTPUT.PUT_LINE('3');

END IF;

END;

PL/SQL常用语法及举例的更多相关文章

  1. oracle入门(6)——PL/SQL常用语法

    [本文介绍] 本文不是”语法大全“,只是记录下作项目里自己常用的一些语法.方便查询. [语法] [输出]   (1)输出语法 DBMS_OUTPUT.PUT_LINE( ) [定义]   (1)定义变 ...

  2. PL/SQL常用表达式及举例(二)

    使用LOOP循环 declare v_i number:=1; begin loop dbms_output.put_line('v_i='||v_i); exit when v_i>=3; v ...

  3. PL/SQL常用表达式及举例(一)

    IF 判断条件 THEN 满足条件时执行语句 END IF; DECLARE v_countResult NUMBER; BEGIN SELECT COUNT(empno) INTO v_countR ...

  4. Sql常用语法以及名词解释

    Sql常用语法以及名词解释 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) D ...

  5. sql 常用语法汇总

    Sql常用语法 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控 ...

  6. PL/SQL基本语法

    *2.PL/SQL基本语法   1)匿名块   一段不能在数据库存储的PL/SQL. 基本结构如下:   DECLARE     //变量的声明定义区域(可省略)   BEGIN     //业务处理 ...

  7. PL/SQL基础语法入门

    先前安装了PL/SQL软件 PL/SQL全称为Procedural Language/SQL. PL/SQL也是一种程序语言,叫做过程化SQL语言,是Oracle数据库对SQL语句的扩展 打PL/SQ ...

  8. Oracle PL/SQL入门语法点

    PL_SQL:带有分支和循环,面向过程匿名块:declare(可选,声明各种变量和游标的地方)begin(必要的,从此开始执行)exception(抓取到异常后执行的)end;[sql] view p ...

  9. PL/SQL常用设置 可看引用位置更清晰直观 引自:http://blog.csdn.net/xiaoqforever/article/details/27695569

    引自:http://blog.csdn.net/xiaoqforever/article/details/27695569 1,登录后默认自动选中My Objects 默认情况下,PLSQL Deve ...

随机推荐

  1. Flash XSS 漏洞实例

    www.bsdxm.com/zeroclipboard/ZeroClipboard.swf?id=\"))}catch(e){alert(/xss/);}//&width=500&a ...

  2. 使用 requests 维持会话

    什么是 Cookie 和 Session: 简单来说,我们访问每一个互联网页面,都是通过 HTTP 协议进行的,而 HTTP 协议是一个无状态协议,所谓的无状态协议即无法维持会话之间的状态.比如,仅使 ...

  3. LinQ的初步学习与总结

    嘿嘿,说起来ORM和LinQ,就感觉离我好遥远的,在学校是没有学习的,所以总感觉学习了LinQ就是大神,现在嘛,终于也体会一点,感觉LinQ只是初步学习,没有太难,当然以后使用在项目中就没有这样的简单 ...

  4. codeforces水题100道 第十六题 Codeforces Round #164 (Div. 2) A. Games (brute force)

    题目链接:http://www.codeforces.com/problemset/problem/268/A题意:足球比赛中如果主场球队的主场球衣和客队的客队球衣颜色一样,那么要求主队穿上他们的可对 ...

  5. 《转载》Linux服务之搭建FTP服务器&&分布式文件服务器的比较

    参考帖子: Linux服务之FTP vsftpd的使用 大型网站图片服务器架构的演进 rsync同步文件的艺术  rsync命令详解 深入理解Tomcat虚拟目录  (测试已经OK)

  6. 关于丢失或者损坏/etc/fstab文件后的一些探讨

    1.模仿,假设不小心删除了/etc/fstab文件:大家都知道,Linux系统启动的时候会读取该文件来挂载分区,如果缺失该文件,系统一般不能正常启动. 2.采用reboot命令或者alt+ctrl+d ...

  7. 脚本学习 game.sh

    #!/bin/bash #game_error.sh ]]; then #$#表示参数个数 -lt小于 echo "Usage: game_error.sh time[20170710]&q ...

  8. delphi for android 获取手机号

    delphi for android 获取手机号 uses   System.SysUtils, System.Types, System.UITypes, System.Classes, Syste ...

  9. css方法 - 移动端h5在iphonex的适配

    @media only screen and (device-width:375px) and (device-height:812px) and (-webkit-device-pixel-rati ...

  10. 题目1447:最短路(Floyd算法)

    题目链接:http://ac.jobdu.com/problem.php?pid=1447 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: ...