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;






  • 相关阅读:
    ASP.NET 表单验证 Part.1(理解表单验证)
    Silverlight 简介 Part.3(设计 Siverlight 页面)
    ASP.NET 成员资格 Part.3(LoginStatus、LoginView、PasswordRecovery)
    ASP.NET 网站部署 Part.1(安装IIS、复制文件部署网站)
    ASP.NET Dynamic Data Part.1(创建动态数据应用程序)
    ASP.NET 安全模型 Part.2(SSL)
    ASP.NET MVC Part.2(扩展基本的 MVC 应用程序)
    ASP.NET 网站部署 Part.2(使用 Web 部署)
    开发高级 Web 部件
    创建 Web 部件(WebPart 类、简单的 Web 部件)
  • 原文地址:https://www.cnblogs.com/xuekai/p/7241526.html
Copyright © 2011-2022 走看看