简介 目录 评价 推荐
  • qq_慕九州2390093 2021-11-25

    存储过程11114


    0赞 · 0采集
  • PrinceDarkHorse 2021-05-28

    带输入参数的存储过程

    注意:

    1. 带参数要指明是输入参数还是输出参数(返回值)

    2. 一般不在存储过程或者函数提交或者回滚事务,而是交给调用者去操作事务

    http://img1.mukewang.com/60b08e8a000149a506500639.jpg

    0赞 · 0采集
  • 慕九州州 2021-05-12

    例子(建立存储过程,然后用pl/sql程序调用):

    ---给学号加100

    create or replace procedure STU(v_name in varchar) as

      p_stu_id pm_stu.stu_id%type;

    begin

      select stu_id into p_stu_id from pm_stu where  stu_name= v_name;

      update pm_stu set stu_id = stu_id + 100 where stu_name = v_name;

      dbms_output.put_line('涨前:' || p_stu_id || '涨后: ' || (p_stu_id + 100));

    end;


    select t.*,rowid from zhaozy.pm_stu t;


    BEGIN

      STU('李四');

      rollback;

      STU('张三');

      commit;

    END;

    0赞 · 0采集
  • 慕粉2243585596 2021-01-05

    --创建一个带参数的存储过程:
    --给指定的员工涨100块钱的工资,并且打印涨前和涨后的薪水
    --eno是传入的员工号

    /*
     如何调用:
    begin
     raisesalary(7839);
     raisesalary(7566);
     commit;
    end;
    */
    create or replace procedure raisesalary(eno in number)
    as

    --定义一个变量保存涨前的薪水
    psal emp.sal%type;
    begin
     --得到员工涨前的薪水
     select sal into psal from emp where empno=eno;

     --给该员工涨100
     update emp set all=sal+100 where empno=eno;

     --需不需要commit?
     --注意:一般不在存储过程或者存储函数中,commit和rollback。


     --打印
     dbms_output.put_line('涨前:'||psall||'涨后:'||(psal+100));

    end;

    0赞 · 0采集
  • qq_羽悦_03291187 2020-09-29
    存储过程创建、注意不commit
    截图
    0赞 · 0采集
  • qq_财神_4 2020-09-26

    算是看明白的了,不就是写个自动程序吗,存储过程

    0赞 · 0采集
  • qq_慕先生7500561 2020-08-13

     带参数的存储过程http://img3.mukewang.com/5f35608b000155b308080477.jpg

    截图
    0赞 · 0采集
  • 大鹏111 2019-12-22

    创建和使用带参数的存储过程

    举例:为指定员工,涨100块钱的工资;并且打印涨前和涨后的薪水。

    注意:存储过程和存储函数的参数需要标明该参数是输入参数还是输出参数。这里需要的是输入参数,也就是需要输入员工号。

    注意:这里已经对数据库记录做出了更改,一般不在存储过程中提交事物,因为这样不能保证在调用存储过程的代码在一个事物中。也就是哪里调用存储过程,哪里提交事物。

    证明:oracle中执行完插入,需要commit,否则查看不到。这是oracle数据库的隔离级别导致的。

    带参数存储过程创建:

    http://img3.sycdn.imooc.com/5dfeea08000169c806660538.jpg

    带参数存储过程调用:像如图中这种情况,就可以保证这两个操作在同一事物中。

    http://img3.sycdn.imooc.com/5dfeea4e0001d65d07630312.jpg

    注意:存储过程的参数声明时,只能声明类型,不可以指定长度。

    http://img2.mukewang.com/5dfef5020001f22614840608.jpg


    1赞 · 1采集
  • qq_宝慕林3385727 2019-11-21

    --带参数的存储过程

    --举例:为指定的员工涨100元的工资,打印涨前和涨后的工资
    --如果带参,需要指定是输入参数还是输出参数
    create or replace procedure raisesalary(eno in number)

    as
     ---定义一个变量保存涨前的薪水(引用emp表sal的数据类型)
     psal emp.sal%type;

    begin

     ---得到员工涨前的薪水
     select sal into psal from emp where empno=eno;
     ---给该员工涨100
     update emp set sal=sal+100 where empno=eno;

     ---需不需要commit?
     ---注意:一般不在存储过程或者存储函数中 commit和rollback
     
     ---打印涨前和涨后的工资

     dbms_output.put_line('涨前:'||psal||'涨后:'||(psal+100));

    end;

    /

    --一般在调用存储过程或者函数的时候再commit,这样可以保证所有执行是在同一个事务中进行的

    --如:

    begin

      raisesalary(7839);

      raisesalary(7566);

      commit;

    end;

    /


    0赞 · 0采集
  • jingkingW 2019-09-25

    一般不在存储过程或者存储函数中,commit和rollbackhttp://img2.mukewang.com/5d8a9cc60001cca612710643.jpg

    截图
    0赞 · 0采集
  • 慕桂英4266184 2019-05-18

    带参数的存储过程

    输入参数 in   输出参数out

    在存储过程中可以卸commit和rollcax,但是存储过程作为子程序,一般不在其中写,调用时统一提交或回滚


    0赞 · 0采集
  • qq_星_20 2019-03-17

    带参数的存储过程

    举例:为指定的员工涨100元的工资,打印涨前和涨后的工资

    如果带参,需要指定是输入参数还是输出参数


    create or replace procedure raisesalary(eno number)

    as

     ---定义一个变量保存涨前的薪水

     psal emp.sal%type;

    begin

     ---得到员工涨前的薪水

     select sal into psal from emp where empno=eno;

     ---给该员工涨100

     update emp set sal=sal+100 where empno=eno;

     

     ---需不需要commit?

     ---注意:一般不在存储过程或者存储函数中 commit和rollback

     

     ---打印涨前和涨后的工资

     dbms_output.put_line('涨前:'||psal||'涨后:'||(psal+100));

    end;

    /


    一般在调用存储过程或者函数的时候再commit,这样可以保证所有执行是在同一个事物中进行的

    如:

    begin

    raisesalary(7839);

    raisesalary(7566);

    commit;

    end;

    /


    0赞 · 1采集
  • 慕妞 2019-01-22
    员工涨薪100元
    截图
    0赞 · 0采集
  • weibo_fate自身难保_0 2018-12-11

    一般不在存储过程中commit或者rollback,而是在调用存储过程之后再提交或回滚,这样能把存储过程封装到一个事务中。

    0赞 · 0采集
  • TopTower 2018-11-14

    创建一个带参数的存储过程:

    https://img.mukewang.com/5bebbf870001355205760281.jpghttps://img.mukewang.com/5bebbf7e00019a6306030455.jpg

    0赞 · 0采集
  • 木马流 2018-10-31

    --带参存储过程

    create or replace procedure raisesalary(eno in number) --in 代表输入

    as 

    --定义一个变量保存涨前的薪水

    psal emp.sal%type  --变量 psal 参数类型emp表的sal字段的类型

    begin

    select sal into psal from emp where empno = eno; --查询emp的sal字段 into(赋值)给psal

    update emp set sal = sal+100 where empno=eno;

    --打印

    dbms_output.pun_line(psal);

    end;


    0赞 · 0采集
  • car 2018-08-17

    不在存储过程提交,回归。保证事务一致性

    截图
    0赞 · 0采集
  • 小光头 2018-05-21

    带参数的存储过程 

    如果存储过程有参数,

    需要指定是输入参数还是输出参数 in out

     Desc dbms_output  --查看dbms_output程序包的参数是输入参数还是输出参数 

    引用型变量 psal emp.sal%type  --采用员工表中的sal变量的类型作为psal的类型 

    Begin和end中间就是程序段 

    1、创建带参数的存储过程(如果是存储函数需要指出参数是输入还是输出)

    create or replace procedure raisesalary(empNo IN number)

    as

    --说明部分

    psal emp.salary%type;

    begin

        select salary into psal from emp where no = empNo;

        updatte emp set salary = salary + 100 where no = empNo;

        dbms_output.put_line("涨前:"+‘||psal||’+“涨后”+‘||(psal+100)’)

    end;

    /


    0赞 · 0采集
  • 莫雨香 2018-05-07

    带参数的存储过程

    1、创建带参数的存储过程(如果是存储函数需要指出参数是输入还是输出)

    create or replace procedure raisesalary(empNo IN number)

    as

    --说明部分

    psal emp.salary%type;

    begin

        select salary into psal from emp where no = empNo;

        updatte emp set salary = salary + 100 where no = empNo;

        dbms_output.put_line("涨前:"+‘||psal||’+“涨后”+‘||(psal+100)’)

    end;

    /

    2、执行

    begin

        raisesalary();

        raisesalary();

        comment();

    end;

    /

    3、plsql查询帮助

    desc dbms_output

    4、存储过程是子程序,一般不需要提交和回滚,但是可以允许

    0赞 · 1采集
  • 慕哥3071097 2018-04-26

    一般不在过程中对表内更改做commit

    截图
    0赞 · 0采集
  • 慕哥3071097 2018-04-26

    基本存储过程

    截图
    0赞 · 0采集
  • lansry 2018-04-23
    带参数的存储过程 如果存储过程有参数,需要指定是输入参数还是输出参数 Desc dbms_output  --查看dbms_output程序包的参数是输入参数还是输出参数 引用型变量 psal emp.sal%type  --采用员工表中的sal变量的类型作为psal的类型 Begin和end中间就是程序段 用into关键字将select出来的sal赋值给psal 存储过程是子函数,不需要做提交commit或者回滚rollback操作。一般不做这两个操作,但是是允许的
    截图
    0赞 · 1采集
  • lansry 2018-04-23
    如何调用 在begin和end中做commit  能保证7839和7566两个员工的涨工资调用在同一个事物中,直接在procedure中commit不能保证两个员工的涨工资在同一事务中。
    截图
    0赞 · 0采集
  • 慕神6074173 2018-03-25
    --创建一个带参数的存储过程:
    --给指定的员工涨100块钱的工资,并且打印涨前和涨后的薪水
    /*
    如何调用
    begin
    raisesalary(7839);
    raisesalary(7566);
    commit;
    end;
    /
    */
    create or replace procedure raisesalary(eno in number)
    as
     --定义一个变量保存涨前的薪水
     psal emp.sal%type;
    begin
     --得到员工涨前的薪水
     select sal into psal from emp where empno=eno;
     
     --给员工涨100元
     update emp set sal=sal+100 where empno=eno;
     
     --打印
     dbms_output.put_line('涨前:'||psal||' 涨后:'||(psal+100));
    
    end;
    /


    1赞 · 1采集
  • 龙凝梦 2018-03-14
    存储过程例子
    截图
    0赞 · 0采集
  • qq_无赖_23 2018-03-14
    create or replace procedure sayhello as begin dbms_output.put_line('hello world'); end; excu sayhello(); begin
    0赞 · 0采集
  • qq_无赖_23 2018-03-14
    create or replace procedure raisesal(eno in number) as psal emp.sal%type; begin select sal into psal from emp where empno=eno; update emp set sal=sal+100 where empno=eno; dbms_output.put_line('涨前:'||pasl||'涨后:'(psal+100)); end; begin raisesal(7026); raisesal(5555); commit; end;
    0赞 · 0采集
  • 三宝 2018-02-24
    一般不再存储过程或存储函数中提交或回滚(可以这么做但是通常不这样),而是在调用处做
    1赞 · 0采集
  • 慕神灬 2017-12-23
    调用存储过程 1 exec 存储过程名();2 begin 存储过程名();end /
    0赞 · 0采集
  • 宝慕林9225027 2017-12-08
    啦啦啦啦啦
    0赞 · 0采集
数据加载中...
开始学习 免费