精华内容
下载资源
问答
  • 一、创建存储过程语句 语法: CREATE OR REPLACE PROCEDURE testname( argument1 TYPE1, ....) AS BEGIN ...... END testname 例子: CREATE OR REPLACE PROCEDURE test_name( arg1 VARCHAR2,arg2 numbe...

    一、创建存储过程语句

          语法:  CREATE OR REPLACE PROCEDURE testname( argument1 TYPE1, ....  ) AS BEGIN ...... END   testname

          例子:

    CREATE OR REPLACE PROCEDURE test_name(
    arg1 VARCHAR2,arg2 number,arg3 number)
    AS
    BEGIN
      insert into test_for_insert(
                  STACID,  LOANNO,  SYSTID,  PARA1, PARA2 
                )values(
                           1,       arg1,       'wld',     arg2,    arg3
                );
            
      dbms_output.put_line('work!');
    END test_name;

         右键‘测试’,输入参数

     

    二、存储过程使用游标

           游标就像循环里面的指针

           语法:定义 :  CURSOR  point  IS SELECT number FROM test_table;  

                      使用:FOR  test_point  IN  point LOOP

                                      .................................

                                 END LOOP;

    create or replace procedure test1 (sys in varchar2)is
      v_sys  test_table.SYSTID%TYPE;
      v_arg number(10,2);
      CURSOR table_cursor IS
      SELECT SYSTID, NUMBER from test_table;  
    begin    
    
      for test_cursor in table_cursor LOOP 
        if sys = 'TEST' then
         dbms_output.put_line(' work ');
       end if;
      END LOOP;
    end test1; 

     

    三、给变量赋值

             语法  :   SELECT  a.number, a INTO varible1 FROM test_table a;

             例子 : 

    create or replace procedure test_pro(sys in varchar2) is 
    
      v_sys  test_table.SYSTID%TYPE;
      v_varible1 number(10,2);
      v_varible2 number(10,2);
    
      CURSOR test_cursor IS
      SELECT SYSTID, NUMBER 
      from test_table;  
    
    BEGIN
    
     for v_cursor in test_cursor LOOP
       if sys = 'wld' then
            select t.SYSTID, nvl(sum(t.var1+t.var2),0) 
            into v_sys, v_varible1
            from test_table t where  t.NUMBER = v_cursor.NUMBER;
           dbms_output.put_line('SYS : ' || v_sys || ' v_varible1  : ' || v_varible1 );
       end if;
     END LOOP;
    END test_pro;

     

    四、 插入表格

            语法: INSERT INTO table1 ( arg1, arg2 .....) SELECT varible1, varible2 ..... FROM table2;

            例子:

       

    create or replace procedure test3 (sys in varchar2)is
      v_sys  test_table.SYSTID%TYPE;
      v_arg number(10,2);
    
    begin    
    
        INSERT INTO table1
       (
        arg1, arg2, ....
        )
        select 
        varible1, varible2,...     
        from table2;
        
    end test3; 

    ------------- ------------- 谢谢大佬打赏 ------------- -----------

     

     

    转载于:https://www.cnblogs.com/Jomini/p/9251222.html

    展开全文
  • 创建存储过程语句

    2016-03-29 19:34:23
    CREATE OR REPLACE PACKAGE mypackage AS /******************************************************************************  NAME: mypackage  PURPOSE:  REVISIONS: ... Ver Date
    CREATE OR REPLACE PACKAGE mypackage AS
    /******************************************************************************
       NAME:       mypackage
       PURPOSE:


       REVISIONS:
       Ver        Date        Author           Description
       ---------  ----------  ---------------  ------------------------------------
       1.0        2016/3/29 星期二      Administrator       1. Created this package.
    ******************************************************************************/


      FUNCTION MyFunction(Param1 IN NUMBER) RETURN NUMBER;
      PROCEDURE MyProcedure(Param1 IN NUMBER);


    END mypackage;


    /
    展开全文
  • 创建存储过程

    2016-06-15 15:44:30
    创建存储过程

    创建存储过程

    CREATE PROCEDURE sp_name([proc_parameter[,...]])
    [characteristic...] routine_body
    sp_name 参数是存储过程的名称;
    proc_parameter 表示存储过程的参数列表;
    characteristic 参数指定存储过程的特性;
    routine_body 参数是 SQL 代码的内容,可以用 BEGIN...END 来标志 SQL 代码的开始和结束。
    proc_parameter 中的每个参数由 3 部分组成。这 3 部分分别是输入输出类型、参数名称和参数类型。
    [ IN | OUT | INOUT ] param_name type
    其中,IN 表示输入参数;OUT 表示输出参数;INOUT 表示既可以是输入,也可以是输出;param_name 参数是
    存储过程的参数名称;type 参数指定存储过程的参数类型,该类型可以是 MySQL 数据库的任意数据类型;
    Characteristic 参数有多个取值。其取值说明如下:
    LANGUAGE SQL:说明 routine_body 部分是由 SQL 语言的语句组成,这也是数据库系统默认的语言。
    [ NOT ] DETERMINISTIC :指明存储过程的执行结果是否是确定的。DETERMINISTIC 表示结果是确定的。每
    次执行存储过程时,相同的输入会得到相同的输出。NOT DETERMINISTIC 表示结果是非确定的,相同的输入
    可能得到不同的输出。默认情况下,结果是非确定的。
    { CONTAINS SQL | NO SQL | READS SQL DATA| MODIFIES SQL DATA} :指明子程序使用 SQL 语句的限制;
    CONTAINS SQL 表示子程序包含 SQL 语句,但不包含读或写数据的语句;NO SQL 表示子程序中不包含 SQL
    语句;READS SQL DATA 表示子程序中包含读数据的语句;MODIFIES SQL DATA 表示子程序中包含写数据的
    语句。默认情况下,系统会指定为 CONTAINS SQL;
    SQL SECURITY { DEFINER | INVOKER };指明谁有权限来执行。DEFINER 表示只有定义者自己才能够执行;
    INVOKER 表示调用者可以执行。默认情况下,系统指定的权限是 DEFINER。
    COMMENT ‘string’ :注释信息;

    eg:

    DELIMITER &&
    CREATE PROCEDURE pro_book (IN bt INT,OUT cout_num INT)
    READS SQL DATA
    BEGIN
    SELECT COUNT(*) FROM t_book WHERE bookTypeId=bT;
    END
    &&
    DELIMITER ;


    展开全文
  • Oracle之创建存储过程SQL语句

    千次阅读 2020-05-19 17:23:26
    1、创建存储过程。 create or replace procedure myprocedure(sid in number) as exam number; begin select * from score where sid=score.userid; dbms_output.put_line(exam); if exam>60 then dbms_o

    一、某学生成绩大于60分,输出good;某学生成绩小于60分输出oh no。(在输出中查看信息)

    ~需要一张成绩表单,包含成绩信息和学生学号。
    1、创建存储过程。

    create or replace procedure myprocedure(sid in number)
    as
    exam number;
    begin
    select * from score where sid=score.userid;
    dbms_output.put_line(exam);
    if exam>60 then
    dbms_output.put_line('good');
    else
    dbms_output.put_line('oh no');
    end if;
    end myprocedure;
    

    2、调用该存储过程,括号内为学生学号。

    begin
    myprocedure(1007);
    end;
    

    二、若全班平均成绩大于等于60分,输出good;若平均成绩小于60分,每位同学成绩在原来基础上+5分(做循环),直到输出为good,停止循环。

    ~需要一张成绩表单,包含所有学生成绩。
    1、创建存储过程。

    create or replace procedure system.scr_pro
    as
    avgscnum number;
    begin
      select avg(scnum) into avgscnum from system.score;
      while avgscnum<60 loop
        select avg(scnum) into avgscnum from system.score;
      dbms_output.put_line(avgscnum);
      if avgscnum>=60 then
        dbms_output.put_line('good');
      else
        update system.score set scnum=scnum+5;
      end if;
     end loop;
    end scr_pro;
    

    2、调用该存储过程。

    begin
      system.scr_pro;
    end;
    

    ~注:
    1、空格、分号在英文状态下输入;
    2、千万不要忘记,该写分号时,一定不能忘(自己就吃了亏);
    3、敲代码,练习自己的逻辑思维。

    展开全文
  • MySQL创建存储过程

    万次阅读 2019-03-27 17:08:44
    Navicat for MySQL创建存储过程及MyBatis调用存储过程 问题描述 一条语句实现向两个表中添加数据 前段时间遇到需求,向一个表中添加数据,获取新增主键值。再向另一个表添加数据,其中一个字段为前一个表的主键值。...
  • 创建一个储存储过程“A”create proc A ( @name char(6) ) as select name from 表名where name=@name return
  • navicat 创建存储过程

    万次阅读 2015-11-07 00:03:37
    navicat创建存储过程图解
  • sql server 创建存储过程

    万次阅读 多人点赞 2018-03-01 13:52:52
    右键单击“存储过程”,再单击“新建存储过程”将会创建存储过程模板:让我困惑的 &lt;Procedure_Name, sysname, ProcedureName&gt; 有什么用?搜遍全网 也没答案。。。。上图其实是一个存储过程...
  • 数据库创建存储过程

    千次阅读 2017-12-18 22:35:00
    创建存储过程的原因:一般在数据库中SQL编辑器只能写sql语句创建存储过程后可在对象编辑器中加入除了sql语句之外的语句(例如:if,else语句)。创建存储过程类似于python中创建函数,可传参。 一.在Mysql-front...
  • 创建存储过程Navicat

    2014-02-27 21:10:43
    创建存储过程 本主题介绍了如何通过使用 SQL Server Management Studio(开发IDE)    和 Transact-SQL CREATE PROCEDURE 语句来创建 Transact-SQL 存储过程。 开始之前: 权限 创建存储...
  • NAVICAT如何创建存储过程

    万次阅读 2017-12-01 14:02:56
    以下为navicat 创建存储过程步骤图解: 1. 2. 3. 4.在存储过程正文中是输入一行语句测试用,点击保存 5.输入存储过程名称,点击确定 6.到这来那么问题来了,会提示...
  • 在mysql中创建存储过程与函数

    千次阅读 2018-12-21 17:14:14
    1、创建存储过程和函数  存储过程是一条或者多条SQL语句的集合,相当于批处理文件,但是作用不... 创建存储过程是通过”CREATE PROCEDURE”语句来创建,语法格式为: CREATE PROCEDURE sp_name ([proc_parame...
  • 在SQLyog上使用SQL语句创建存储过程

    千次阅读 2018-11-29 13:46:23
    首先来写一条简单的创建存储过程语句,将教师表中中符合条件的教师数量进行统计返回到num中,代码如下: CREATE PROCEDURE teacherSum(IN sex varchar(4), IN depart varchar(10), OUT num INT) BEGIN SELECT ...
  • mysql创建存储过程

    千次阅读 2017-09-08 11:08:01
    今天是2017年9月8日,距离国庆还有1,2,3,4,...还有还些天呢,进入工作之后有的时候感觉...存储过程是一些sql语句的集合,比如有的时候我们可能需要一大串的sql语句,或者说在编写SQL语句的过程中还需要设置一些变量的
  • SQL Server 创建存储过程

    千次阅读 2019-04-01 14:21:20
    存储过程
  • 创建存储过程,执行存储过程

    千次阅读 2018-07-27 17:18:07
    无参数存储过程 create or replace procedure 存储过程的名称 is begin  xxxx......此处为自己需要执行的sql语句 commit; end 存储过程的名称;   含有入参的存储过程   create or replace procedure ...
  • 创建存储过程和函数是指将经常使用的一组SQL语句组合在一起,并将这些SQL语句当作一个整体存储在MySQL服务器中。存储程序可以分为存储过程和函数。在MySQL中创建存储过程使用的语句CREATE PROCEDURE。其语法形式如下...
  • 创建存储过程的基本代码结构

    千次阅读 2018-08-02 10:55:53
    1.存储过程简介 存储过程(Stored Procedure)是数据库系统中,一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出...2.创建存储过程的基本代码结构 CREATE PROCEDUR...
  • Greenplum创建存储过程

    万次阅读 2018-08-22 20:29:14
    创建表 CREATE TABLE table1 ( f1 text, f2 numeric, f3 integer ) distributed by (f1); 添加数据 INSERT INTO table1 values ('test1', 14.1, 3), ('test2', 52.5, 2), ('test3', 32.22,...
  • 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。在大型数据库系统中,...
  • mysql 5.7 创建存储过程报错

    千次阅读 2018-06-23 10:59:29
    创建存储过程: mysql&amp;gt; delimiter // mysql&amp;gt; create procedure delete_yy -&amp;gt; begin -&amp;gt; select * from student; -&amp;gt; end // 报错如下: ERROR ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 475,949
精华内容 190,379
关键字:

创建存储过程的语句是什么