精华内容
下载资源
问答
  • 展开全部/*创建存储过程*/CREATE PROCEDURE proc_select--建立存储过程@Sno char(10) output,--输入输出参数636f70793231313335323631343130323136353331333431356134@Sname varchar(20) out,--输出参数@Cno char(4)...

    展开全部

    /*创建存储过程*/

    CREATE PROCEDURE proc_select--建立存储过程

    @Sno char(10) output,--输入输出参数636f70793231313335323631343130323136353331333431356134

    @Sname varchar(20) out,--输出参数

    @Cno char(4) out,--输出参数

    @grade tinyint out--输出参数

    AS

    SELECT @Sname=Sname,@Sno=Student.Sno,@Cno=cno,@grade=grade --select里面写输出参数

    FROM Student,SC  --从学生表,选修表中查询

    where @Sno=Student.Sno--where里面写输入参数

    /*根据给定学号查询*/

    CREATE PROC  proc_lab4 --存储过程中含有游标

    @Sno char(10)

    as

    declare @ssno char(10),@ssname char(20),@ccname char(20),@scg int--声明四个变量

    declare cursor_s cursor--声明游标

    for

    select Student.Sno,Sname,Cname,grade

    from Student,Course,SC--从三个表中选择学号、姓名、课程名、成绩

    where Student.Sno=SC.Sno and Course.Cno=SC.Cno and Sname=@Sname;--连接

    open cursor_s--打开游标

    fetch next from cursor_s into @ssno,@ssname,@ccname,@scg

    while @@fetch_status=0

    begin

    print @ssno+@ssname+@ccname+convert(char(10),@scg)

    fetch next from cursor_s into @ssno,@ssname,@ccname,@scg

    end

    close cursor_s--关闭游标

    deallocate cursor_s--释放游标

    exec proc_lab4 '201215121'

    --只带输入参数

    CREATE PROC p2

    @sno char(10)

    as

    select Student.Sno,Sname,Cname,grade

    from Student,SC,Course

    where Student.Sno=SC.Sno and SC.Cno=Course.Cno

    and Sname=@sname

    ac5a83b06894ed677b7552eebbd42153.png

    扩展资料:

    创建存储过程基本语法

    create procedure sp_name

    @[参数名] [类型],@[参数名] [类型]

    as

    begin

    .........

    end

    以上格式还可以简写成:

    create proc sp_name

    @[参数名] [类型],@[参数名] [类型]

    as

    begin

    .........

    end

    /*注:“sp_name”为需要创建的存储过程的名字,该名字不可以以阿拉伯数字开头*/

    展开全文
  • 储存过程

    2019-12-09 18:48:57
    储存过程是一组为了完成特定功能的...一个储存过程是一个可编程的函数。它在数据库中创建并保存,一般由SQL语句和一些特殊控制的结构组成,当希望在不同的平台或者应用程序执行相同的特定功能时,有储存过程是合适的...

    储存过程是一组为了完成特定功能的SQL语句表,经过编译后储存在数据库中,用户通过指定过程的名字并给定参数来调用执行它。
    从常用的操作数据库的SQL语句在执行的时候需要先编译,然后执行,储存过程,则是采用另外一种方式执行sql语句。
    一个储存过程是一个可编程的函数。它在数据库中创建并保存,一般由SQL语句和一些特殊控制的结构组成,当希望在不同的平台或者应用程序执行相同的特定功能时,有储存过程是合适的。
    1、声明变量
    在存储过程体中可以声明局部变量,用来存放临时产生的结果。
    局部变量和全局变量相对应,是局部范围内有效变量。
    局部变量的声明:
    declare 变量名 变量类型 default null

    在这里插入图片描述
    二 创建存储过程:
    在mysql中默认是以分号结束sql语句的,但是在创建存储过程时,存储过程体可能包含多条SQL语句,这些SQL也是以;作为标识结束的,这样的话,mysql 就会以第一个分号作为结束符,鉴于这种情况,所以我们要先修改结束标识符。
    delimiter $$
    1 创建不带参数的存储过程:
    在这里插入图片描述
    调用存储过程:
    在这里插入图片描述
    创建带参数的存储过程:
    在这里插入图片描述
    调用带参数的存储过程:
    在这里插入图片描述
    修改存储过程:
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 2.无表的话,根据需求创建一个数据库表。 CREATE TABLE test( ID INT PRIMARY KEY AUTO_INCREMENT , test_name VARCHAR(20), test_num INT); 二. 创建储存过程 DROP PROCEDURE IF EXISTS pro1; //如果有创建过储过程...

    一. 创建数据库表

    1.有表的话,不需要创建表,需要向哪个表中循环插入数据记住表名即可。
    2.无表的话,根据需求创建一个数据库表。
    CREATE TABLE test(
    ID INT PRIMARY KEY AUTO_INCREMENT ,
    test_name VARCHAR(20),
    test_num INT);

    二. 创建储存过程

    DROP PROCEDURE IF EXISTS pro1;                   //如果有创建过储过程删除,无则创建
    DELIMITER $                                                           /*(意思是mysql语句的结尾换成以$结束,mysql默认是;结束)*/
    
    CREATE PROCEDURE pro1(IN n INT)                               /*创建一个名为pro1的存储过程,调用存储过程时,可以通过输入参数n来指定循环的次数*/
    
    BEGIN                                                                 /*开始*/
    
    DECLARE num001 INT;                                /*定义num001和num002的数据类型为int*/
    
    SET num001 = 1;                             /*设置num001=1,num002=10*/
    
    WHILE n - num001 >= 0 DO                                     /*当num001小于等于n时执行下面的操作*//*在test表中插入数据test_name=zhangsan+num001,test_num=num002,contat意为将张三和num001连起来*/
    
    INSERT INTO box VALUES(CONCAT(20201011, num001),CONCAT(20201011, num001),CONCAT(20201011, num001),0,0,'',0,1,1,1,1,14,10,CONCAT(20201011, num001),0,'',9,13,'');
    INSERT INTO account VALUES(CONCAT(20201011, num001),0,'2020-10-09 20:22:22','',0,0,0,10,1,'西安分行营业部柜员','',10,1);
    
    SET num001=num001+1;             /*设置num001=num001+1,num002=num002*2*/
    
    END WHILE;                                                          /*当num>100时,不再执行插入操作循环结束*/
    
    END $                                                                /* 存储过程结束*/
    
    DELIMITER ;
    

    三. 注意事项

    这是创建储存过程,先执行这个,然后再执行调起这个储存过程。

    call pro1(100) ; //100指的是循环次数。
    
    展开全文
  • create or replace package 包名 is procedure P_RPT_D_OCBYGCC(var_StatTime in date); procedure P_RPT_025...首先是定义一个包,并声明包的内容是两个储存过程。下面是定义包体 create or replace pac...
    create or replace package 包名 is

    procedure P_RPT_D_OCBYGCC(var_StatTime in date);

    procedure P_RPT_025(var_StatTime in date);

    end 包名;
    首先是定义一个包,并声明包的内容是两个储存过程。下面是定义包体
    create or replace package body 包名 is
    procedure P_RPT_D_OCBYGCC(var_StatTime in date) is
    vSELECTNUM int;--可以声明变量
    begin
    这个是正文
    比如从一个表抽取你想要的数据到另一个表
    insert into table1 select.....select是查询符合条件的数据,这样就把你要的数据插入另一个表了。
    Exception 处理异常
    WHEN OTHERS THEN
    --回滚事务
    ROLLBACK;
    raise;
    end P_RPT_D_OCBYGCC;


    下面这个储存过程是调用上面的储存过程
    procedure P_RPT_025(var_StatTime in date) is
    iNowTime date;
    begin
    iNowTime := var_StatTime;
    P_RPT_D_OCBYGCC(var_StatTime => iNowTime);
    commit;
    Exception
    WHEN OTHERS THEN
    --回滚事务
    ROLLBACK;
    raise;
    end P_RPT_025;

    end INF_RPT_025;

    这已经结束了,相信我们都会在包里写储存过程了
    展开全文
  • 简简单单储存过程——循环一个select结果集 MySQLSSHSQL   摘要:本文主要讲解了存储过程的创建、调用、以及游标的使用,相信掌握了游标 会对你有不错的帮助,有不足之处还请指教   导航: 一、存储过程...
  • 储存过程创建

    2009-12-23 14:53:00
     〖方法(Action) 〗方法:Step01:创建存储过程create_table。CREATE OR REPLACE PROCEDURE create_tableISv_Cursor NUMBER;--定义游标v_CreateString VARCHAR2(100);--这变量存放创建
  • 使用逻辑,创建一个储存过程,相当于先字符串拼接,然后转换成预处理语法,进行语法应用 字符串拼接create table 表名 like 已有表名 循环100次,产生了100张表结构相同的表 use wwtt; DELIMITER $$ ##修改结束...
  • 储存过程创建uuid方法

    千次阅读 2017-10-23 17:23:21
    1、oracle中有一个函数叫sys_guid(), 使用select sys_guid() from dual; (dual是一张oracle自带的虚表)就可生成uuid,但是你生成多个uuid怎么弄呢?找一张大表有很多记录,from你的那个大表即可。有多少记录生成...
  • #数据表的结构为stu_id(学号) ,stu_name(姓名),stu_sex(性别),cla_id(班级编号),stu_phone(手机号)drop ...#如果存在储存过程则删除delimiter $$ #创建一个储存过程create procedure insertt()beginset @a=200...
  • 摘要:本文主要讲解了存储过程创建、调用、以及游标的使用,相信掌握了游标 会对你有不错的帮助,有不足之处还请指教导航: 、存储过程创建及调用二 、游标的使用三、 示例四、补充说明:1、用到的两数据表...
  • MySQL储存过程

    2019-01-22 16:28:00
    储存过程:储存是一个可编辑函数,它在数据库中创建并保存。 程序一般分为两种:一种基于web、另一种基于桌面,它们都通过与数据库进行交互来完成数据的存取工作。 1.创建储存过程创建储存过程一般有两种,一种...
  • 这是一个储存过程的基础的创建和简单应用,希望对大家有点帮助,不足之处肯定会有,算是抛砖引玉吧。 CREATE PROCEDURE 创建存储过程,存储过程是保存起来的可以接受和返回用户提供的参数的 Transact-SQL 语句的...
  • 储存过程的基础的创建和简单应用[转] 这是一个储存过程的基础的创建和简单应用,希望对大家有点帮助,不足之处肯定会有,算是抛砖引玉吧。CREATE PROCEDURE创建存储过程,存储过程是保存起来的可以接受和返回用户...
  • 黄二玉+ 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程...当一个程序存放在储存介质上的时候,它只是一个指令,数据及其组织形式的描述。操作系统可以将一个程序加载
  • 存储过程一个SQL语句集合,当主动去调用存储过程时,其中内部的SQL语句会按照逻辑执行。一:创建存储过程MariaDB [test2]> delimiter //MariaDB [test2]>create procedure p1() #创建存储过程-> begin ...
  • Mysql储存过程

    2013-10-27 10:52:03
     储存过程一个可编程的函数,它在数据库中创建并保存。它可以有SQL语句和一些特殊的控制结构组成。当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中的存储...
  • 首先要创建一个截取字符串的函数,新建一个查询,把下面代码复制进去执行。 函数SqlitIn的第一个参数是储存过程要in的字符串,第二个参数是分隔符 CREATE function SplitIn(@c varchar(200),@split varchar(2)) ...
  • 存储过程创建测试数据1、怎么创建测试数据如果你会编程语言,那么... 并且存储过程就是sql脚本,存储、执行、查看结果都在一个工具类就可完成非常方便。(本例采用mysql数据库)2、什么是存储过程存储过程(Stored ...
  • oracle储存过程

    2017-03-07 10:27:33
    存储过程  1 CREATE OR REPLACE PROCEDURE 存储过程名 ... CREATE OR REPLACE PROCEDURE 是一个SQL语句通知Oracle数据库去创建一个叫做skeleton存储过程, 如果存在就覆盖它; 行2:
  • mysql储存过程

    2016-01-19 21:33:04
    mysql存储过程详解 1. 存储过程简介   我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程...一个存储过程一个可编程的函数,它在数据库中创建并保存。它可以有SQL语句和一
  • 数据库储存过程超简单实例

    千次阅读 2018-06-15 15:32:20
    网上看了半天都没找到一个完整储存过程创建到调用的实例,于是自己写了一个简单的实例. 数据库创建存储过程,定义个函数 格式如下,开头DELIMITER //和结尾/DELIMITER 和BEGIN 和 END 是固定格式 定了一个叫test...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 501
精华内容 200
关键字:

创建一个储存过程