zoukankan      html  css  js  c++  java
  • 查询表的所有数据 函数调用


    --查询表的所有数据

    select * from wan;
    --首先给表创建一个序列 每次增加1,从1开始
    --给表新增一个列
    alter table wan add(id number );
    --创建序列
    create sequence wan_id_se
    start with 1
    increment by 1
    maxvalue 99999
    nocache
    nocycle;
    --更新添加列的数据 让id每次增加1
    update wan set id=wan_id_se.nextval ;

    --过程控制语句
    declare
    a number :=1;
    b wan.ename%type;
    c number ;
    begin
    select count(*) into c from wan;
    while a <=c
    loop
    select ename into b from wan where id=a;
    dbms_output.put_line('姓名是'||b);
    a:=a+1;
    end loop;
    end;


    --输入内容 &
    declare
    sall emp.sal%type:=&sal;
    begin
    if sall<1500 then
    dbms_output.put_line(sall||'df');
    end if;
    end;


    declare
    v_ename emp.ename%type :='&a';
    v_sal emp.sal%type ;
    begin
    select sal into v_sal from emp where ename=v_ename;
    if v_sal<1500 then
    update emp set sal=sal+100 where ename=v_ename;
    dbms_output.put_line('f '|| v_ename ||'dfg');
    else
    dbms_output.put_line('f '|| v_ename ||'++++++');
    end if;
    END;

    --非预定义异常练习
    declare
    v_deptno dept.deptno%TYPE :=&deptno;
    deptno_remaining EXCEPTION;
    PRAGMA EXCEPTION_INIT(deptno_remaining, -2292);
    /* -2292 是违反一致性约束的错误代码 */

    begin
    DELETE FROM dept WHERE deptno=v_deptno;
    EXCEPTION
    WHEN deptno_remaining THEN
    DBMS_OUTPUT.PUT_LINE('违反数据完整性约束!');
    WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE(SQLCODE||'---‘'||SQLERRM);

    end;
    -- 用户定义异常 使用关键字 raise
    DECLARE
    v_empno emp.empno%TYPE :=&empno;
    no_result EXCEPTION; --声明异常
    BEGIN
    UPDATE emp SET sal=sal+100 WHERE empno=v_empno;

    IF SQL%NOTFOUND THEN
    RAISE no_result; --跳转到异常部分
    END IF;

    EXCEPTION
    WHEN no_result THEN
    DBMS_OUTPUT.PUT_LINE('你的数据更新语句失败了!');
    WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE(SQLCODE||'---'||SQLERRM);
    END;
    --创建函数
    create or replace function get_salary(
    dept_no number, emp_count out number)
    return number
    is
    v_sum number;
    begin
    select sum(sal),count(*) into v_sum,emp_count from emp where deptno=dept_no;
    return v_sum;
    exception
    when no_data_found then
    dbms_output.put_line('你需要的数据不存在!');
    when others then
    dbms_output.put_line('-----');
    end get_salary;



    --调用函数
    --方法一
    DECLARE
    V_num NUMBER;
    V_sum NUMBER;
    BEGIN
    V_sum :=get_salary(20, V_num); --输入参数
    DBMS_OUTPUT.PUT_LINE('30号部门工资总和:'||v_sum||',人数:'||V_num);
    END;
    --方法二
    DECLARE
    V_num NUMBER;
    V_sum NUMBER;
    BEGIN
    V_sum :=get_salary( dept_no => 30,emp_count => v_num);
    DBMS_OUTPUT.PUT_LINE('30号部门工资总和:'||v_sum||',人数:'||v_num);
    END;
    --方法三
    DECLARE
    Var VARCHAR2(32);
    BEGIN
    Var := demo_fun('user1', 30, sex => '男');
    DBMS_OUTPUT.PUT_LINE(var);
    Var := demo_fun('user2', age => 40, sex => '男');
    DBMS_OUTPUT.PUT_LINE(var);
    Var := demo_fun('user3', sex => '女', age => 20);
    DBMS_OUTPUT.PUT_LINE(var);
    END;

    select Mod(50,20) from dual
    Select to_date('2015126','yyyyMMdd') from dual;
    select to_char(sysdate,'HH24:MI:SS ') from dual;






  • 相关阅读:
    java的一些基本概念──JDK 、j2se 、j2sdk...
    shell函数的调用执行
    ICE第三方包简介及安装&ICE安装(linux)
    http状态码
    Grep命令学习笔记(转)
    STL map用法详解
    ubuntu下安装subversion客户端
    linux下安装Tomcat及设置JSP环境
    ICE总结
    struts开发
  • 原文地址:https://www.cnblogs.com/xuekai/p/7241526.html
Copyright © 2011-2022 走看看