zoukankan      html  css  js  c++  java
  • PL/SQL编程基本语法学习

    语法结构:

    DECLARE --声明部分
    --v_name VARCHAR2(20); --直接声明类型
    v_name emp.ename%TYPE; --获取emp.ename列的类型
    BEGIN
    --赋值
    --v_name := 'zhangsan'; --执行部分
    --将表中的列查询出来,存放到变量中。不能返回多行记录。类型要一致
    SELECT ename INTO v_name FROM emp WHERE empno=7369;
    dbms_output.put_line(v_name);
    END;

    案例:

    --判断用户是否有奖金
    DECLARE
    V_COMM EMP.COMM%TYPE;
    BEGIN
    SELECT COMM INTO V_COMM FROM EMP WHERE EMP.EMPNO = 7499;
    IF V_COMM >= 500 THEN
    DBMS_OUTPUT.PUT_LINE('这个月双倍奖金!');
    ELSIF V_COMM >= 300 THEN
    DBMS_OUTPUT.PUT_LINE('这个月有奖金!');
    ELSE
    DBMS_OUTPUT.PUT_LINE('这个月没有奖金!');
    END IF;
    END;

    --case语句
    --第一种写法:类似java中的switch结构
    DECLARE
    V_DEPTNO EMP.DEPTNO%TYPE;
    BEGIN
    SELECT emp.deptno INTO V_DEPTNO FROM EMP WHERE EMP.EMPNO = 7369;
    CASE V_DEPTNO
    WHEN 10 THEN
    DBMS_OUTPUT.PUT_LINE('财务部');
    WHEN 20 THEN
    DBMS_OUTPUT.PUT_LINE('人事部');
    WHEN 30 THEN
    DBMS_OUTPUT.PUT_LINE('销售部');
    WHEN 40 THEN
    DBMS_OUTPUT.PUT_LINE('研发部');
    END CASE;
    END;

    --第二种写法:类似java中的多重elseif结构
    DECLARE
    v_sal emp.sal%TYPE;
    v_empno NUMBER := # --运行时,弹出输入框,输入变量的值
    BEGIN
    SELECT emp.sal INTO v_sal FROM EMP WHERE EMP.EMPNO = v_empno;
    CASE
    WHEN v_sal >= 3000 THEN
    DBMS_OUTPUT.PUT_LINE('工资非常棒');
    WHEN v_sal >= 2000 THEN
    DBMS_OUTPUT.PUT_LINE('工资不错');
    WHEN v_sal >= 1000 THEN
    DBMS_OUTPUT.PUT_LINE('工资还行');
    ELSE
    DBMS_OUTPUT.PUT_LINE('工资惨不忍睹');
    END CASE;
    END;


    --循环结构
    --LOOP
    DECLARE
    v_sum NUMBER := 0;
    v_i NUMBER := 0;
    BEGIN
    LOOP
    v_sum := v_sum + v_i;
    v_i := v_i + 1;
    EXIT WHEN v_i > 100; --退出循环的条件
    END LOOP;
    DBMS_OUTPUT.PUT_LINE('和为:'||v_sum);
    END;

  • 相关阅读:
    PAT 1010. 一元多项式求导 (25)
    PAT 1009. 说反话 (20) JAVA
    PAT 1009. 说反话 (20)
    PAT 1007. 素数对猜想 (20)
    POJ 2752 Seek the Name, Seek the Fame KMP
    POJ 2406 Power Strings KMP
    ZOJ3811 Untrusted Patrol
    Codeforces Round #265 (Div. 2) 题解
    Topcoder SRM632 DIV2 解题报告
    Topcoder SRM631 DIV2 解题报告
  • 原文地址:https://www.cnblogs.com/jkma1007/p/4205856.html
Copyright © 2011-2022 走看看