精华内容
下载资源
问答
  • 2021-01-30 18:41:12

    --创建存储过程的例子

    CREATE PROCEDURE proc_stu

    AS

    DECLARE @writtenAvg float,@labAvg numeric(6,2)--定义变量

    SELECT @writtenAvg=AVG(written),

    @labAvg=AVG(lab)  FROM Exam

    print '笔试平均分:'+convert(varchar(6),@writtenAvg)

    print '机试平均分:'+convert(varchar(6),@labAvg)

    IF (@writtenAvg>70 AND @labAvg>70)

    print '本校考试成绩:优秀'

    ELSE

    print '本校考试成绩:较差'

    print '--------------------------------------------------'

    print '           参加本次考试没有通过的学员:'

    SELECT stuName,stuInfo.stuNo,written,lab

    FROM  stuInfo  INNER JOIN exam ON

    stuInfo.stuNo=exam.stuNo

    WHERE written<60 OR lab<60

    GO

    更多相关内容
  •  存储过程是事先经过编译并保存在数据库中的一段sql语句集合. 使用时调用即可. 例: 返回学号为”2020005″学生的成绩情况,存储过程命名为p1 -- 如果不使用存储过程的查询 select * from sc where
  • 一、什么是MySQL存储过程?   在大型项目中,有时候需要重复执行能够完成特定功能的SQL语句集,而MySQL为我们提供了存储过程的概念,存储过程是数据库中的一个重要对象,它是存储在数据库中的一组完成特定功能的...
  • SQL语句创建存储过程

    2010-06-08 22:09:08
    创建数据库的存储过程 要求: 实现增,删,查,改!!
  • 右键点击它,选择“新建存储过程”,右侧的编辑窗口打开了,里面装着微软自动生成的SQL Server创建存储过程语句。 将存储过程的名字,参数,操作语句写好后,点击语法分析,没有错误就直接“F5”运行就好了,存储...
  • oracle存储过程---创建存储过程语句

    千次阅读 2019-10-09 05:52:56
    一、创建存储过程语句 语法: 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

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

    2011-11-02 10:00:08
    这是官网中mysql存储过程创建和函数的使用文档。
  • MySQL创建存储过程

    千次阅读 2021-02-03 07:36:36
    在开发过程中,经常会遇到重复使用某一个功能的情况,为此,MySQL引入了存储过程...大大减少数据库开发人员的工作量创建存储过程使用CREATE PROCEDURE语句CREATE PROCEDURE sp_name([proc_parameter])[characteri...

    在开发过程中,经常会遇到重复使用某一个功能的情况,为此,MySQL引入了存储过程

    存储过程

    就是一条或多条SQL语句的集合,当对数据库进行一系列复杂操作时,存储过程可以将这些复杂操纵,封装成一个代码块,以便重复使用,大大减少数据库开发人员的工作量

    创建存储过程

    使用CREATE PROCEDURE语句

    CREATE PROCEDURE sp_name([proc_parameter])

    [characteristics……]routine_body

    参数说明

    CREATE PROCEDURE,创建存储过程的关键字

    Sp_name,为存储过程的名称

    Proc_parameter,为指定存储过程的参数列表,参数列表的形式,如下

    [IN|OUT|INOUT]param_name type

    参数列表说明

    IN,表示输入参数

    OUT,表示输出参数

    INOUT,表示既可以输入,也可以输出

    Param_name,表示参数名称

    type,表示参数的类型,可以是MySQL数据库中的任意类型

    在创建存储过程的语法格式中,characteristics用于指定存储过程的特性,取值如下

    LANGUAGE SQL

    说明,routine_doby部分,是由SQL语句组成的,当前系统支持的语言为SQL,SQL是LANGUAGE的唯一值

    [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’

    注释信息,用来表示存储过程

    Routine_body,是SQL代码的内容,可以用BEGIN……END来表示SQL代码的开始和结束

    首先,在数据库chapter06中,创建表student

    创建student表之后,插入4条记录

    0818b9ca8b590ca3270a3433284dd417.png

    创建一个查看student表的存储过程

    0818b9ca8b590ca3270a3433284dd417.png

    参数说明

    DELIMITER //

    作用,将MySQL的结束符设置为//,因为,MySQL默认的语句结束符号为分号;,为了避免与存储过程中,SQL语句结束符相冲突,需要使用DELIMTER改变存储过程的结束符,并且,以END //结束存储过程

    存储过程,定义完毕之后,再使用DELIMITER,恢复默认结束符 DELIMITER,可以指定其他符号作为结束符 注意,DELIMITER与设置的结束符之间,一定要有一个空格,否则设置无效

    展开全文
  • jdbc如何创建存储过程

    2021-02-27 12:22:41
    //创建存储过程,记住关闭对象import java.sql.CallableStatement;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;...

    //创建存储过程,记住关闭对象

    import java.sql.CallableStatement;

    import java.sql.Connection;

    import java.sql.DriverManager;

    import java.sql.ResultSet;

    import java.sql.SQLException;

    import java.sql.Statement;

    public class UseSQLDataBase3 {

    Connection con;

    Statement state;

    ResultSet rs;

    CallableStatement cs;//调用存储过程使用的接口

    String url = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=test";

    String user = "sa";

    String password = "";

    public void connectSQL(){

    try {

    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

    } catch (ClassNotFoundException e) {

    // TODO 自动生成 catch 块

    e.printStackTrace();

    }

    try {

    con = DriverManager.getConnection(url, user, password);

    state = con.createStatement();

    //创建存储过程SQL语句

    String createProcedure = " create procedure SHOW_SUPPLIERS " +

    "as "+

    " select SUPPLIERS.SUP_NAME,COFFEES.COF_NAME "+

    "from suppliers,coffees"+

    "where suppliers.sup_id = coffees.sup_id "+

    "order by sup_name";

    //创建存储过程

    state.executeUpdate("USE TEST");

    state.executeUpdate(createProcedure);

    //调用存储过程

    cs = con.prepareCall("{call SHOW_SUPPLIERS}");//创建一个 CallableStatement 对象来调用数据库存储过程

    //返回调用的结果集

    rs = cs.executeQuery();

    //输出结果

    System.out.println("SUPPLIERS.SUP_NAME            COFFEES.COF_NAME");

    while(rs.next()){

    String sup_name = rs.getString(1);

    String coffees_name = rs.getString(2);

    System.out.println(sup_name + "      " + coffees_name);

    }

    con.close();

    state.close();

    } catch (SQLException e) {

    // TODO 自动生成 catch 块

    e.printStackTrace();

    }

    }

    展开全文
  • 本文实例讲述了MySQL存储过程中使用WHILE循环语句的方法。分享给大家供大家参考。具体如下: mysql> mysql> delimiter $$ mysql> mysql> CREATE PROCEDURE myProc() -> BEGIN -> -> DECLARE i int; -> SET i=1;...
  • MYSQL中存储过程创建,调用及语法

    千次阅读 2021-01-18 21:23:50
    特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库时(例如PHP),要组织很多SQL语句。特别是业务逻辑复杂的时候,一大堆的 SQL 和条件夹杂在PHP代码中,让人不寒而栗。现在有了 MySQL 存储过程,业务...
  • 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
  • 在项目开发中如果有时修改了一个存储过程,但是如何能够快速的查找到使用了这个存储过程的其它存储过程
  • 问题: mysql用命令行创建存储过程时,如语句中遇到;则创建过程结束,提示 ERROR1064(42000):YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondsto yourMySQLserverversionfortherightsyntaxtousenear''...
  • 图文解释如何使用Navicat for MySQL创建存储过程(两种方式)。一起来看下吧!
  • Oracle创建存储过程

    2022-01-04 10:01:24
    Oracle创建存储过程 创建存储过程 CREATE OR REPLACE procedure "TS_TEST" as //声明变量 o_succes VARCHAR2(5); name VARCHAR2(50); test_sql VARCHAR2(100); t_type NUMBER(5); Begin o_succes:=0; t_type:...
  • SQL Server 创建存储过程

    千次阅读 2021-03-22 15:29:03
    1.创建存储过程的基本语法模板: if (exists (select * from sys.objects where name = 'pro_name')) drop proc pro_name go create proc pro_name @param_name param_type [=default_value] as begin sql语句 ...
  • mysql8.0创建存储过程

    千次阅读 2020-07-23 17:43:30
    创建存储过程核心语句: CREATE PROCEDURE del_user(IN userId BIGINT) BEGIN /***执行内容**/ END del_user:存储过程名称; userId :传入参数 IN: 输入参数; OUT:输出参数-这里没用到; BIGINT:传入参数类型...
  • 存储过程创建数据表:创建时注意必须添加authid current_user,如果创建的表已存在,存储过程继续执行,但如不不加此关键语句存储过程将出现异常,这个语句相当于赋权限。例1创建语句如下: 代码如下:create or ...
  • MySQL中的存储过程指的是存储在数据库中的SQL语句集合,当创建存储过程后在运行时提供所需参数,存储过程就可以以代码指定的方式使用参数执行并返回值。一、存储过程如何工作首先要先创建一个存储过程然后再运行。...
  • mysql怎么用sql语句创建存储过程

    千次阅读 2021-01-19 07:34:03
    展开全部可以在客户端里面直接写 比如用 navicat 就写:delimiter$$;createprocedurelucia_proc16(countint)beginDECLAREname_procVARCHAR(20)CHARACTERSETutf8;DECLAREsex_procVARCHAR(4)CHARACTERSETutf8;...
  • 创建一个按月创建表的存储过程,SQL语句如下: DELIMITER // DROP PROCEDURE IF EXISTS create_table_by_month // CREATE PROCEDURE `create_table_by_month`() BEGIN #--提前申明变量,后面会用到 DECLARE next...
  • navicat怎么创建存储过程

    千次阅读 2021-01-18 21:08:43
    navicat怎么创建存储过程?下面就为大家详细介绍一下其中涉及到的操作。1、使用Navicat Premium打开创建函数向导,操作:连接名——数据库——函数——新建函数2、选择过程——输入存储过程参数——完成(这一步可以...
  • 创建存储过程的基本代码结构

    千次阅读 2018-08-02 10:55:53
    1.存储过程简介 存储过程(Stored Procedure)是数据库系统中,一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出...2.创建存储过程的基本代码结构 CREATE PROCEDUR...
  • 存储过程执行效率比单独的SQL语句效率高。 样编写存储过程存储过程在SQL Server 2005对应数据库的可编程性目录下。 比如,创建一个存储过程 代码如下: create procedure procNewsSelectNewNews as begin select ...
  • sql server 创建存储过程

    万次阅读 多人点赞 2018-03-01 13:52:52
    右键单击“存储过程”,再单击“新建存储过程”将会创建存储过程模板:让我困惑的 &lt;Procedure_Name, sysname, ProcedureName&gt; 有什么用?搜遍全网 也没答案。。。。上图其实是一个存储过程...
  • 存储过程可以一次执行多个sql语句,所以php只连接数据库一次就能查询多个语句;不过要返回多个结果集就必须用mysqli扩展来查询,否则会提示错误can't return a result set in the given context

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 552,185
精华内容 220,874
关键字:

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