精华内容
下载资源
问答
  • 创建存储过程的基本代码结构

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

    1.存储过程简介

    存储过程(Stored Procedure)是数据库系统中,一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。在数据库系统中,存储过程和触发器具有很重要的作用。无论是存储过程还是触发器,都是SQL 语句和流程控制语句的集合。

     2.创建存储过程的基本代码结构

    CREATE PROCEDURE Procedure_Name  
     
    --Procedure_Name为存储过程名(不能以阿拉伯数字开头),在一个数据库中触发器名是唯一的。名字的长度不能超过个字。PROCEDURE可以简写为PROC。
    	 
    @Param1 Datatype,@Param2 Datatype 
    	
    --@Param1和@Param2为存储过程的参数,Datatype为参数类型,多个参数用逗号隔开,最多允许个参数。
    	
    AS --存储过程要执行的操作 
     
    BEGIN
    	
    --BEGIN跟END组成一个代码块,可以写也可以不写,如果存储过程中执行的SQL语句比较复杂,用BEGIN和END会让代码更加整齐,更容易理解。
     
        
    END
    GO --GO就代表结操作完毕  
     
     
    exec Procedure_Name [参数名] --调用存储过程Procedure_Name。
     
    drop procedure Procedure_Name --删除存储过程Procedure_Name,不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程
     
    show procedure status --显示数据库中所有存储的存储过程基本信息,包括所属数据库,存储过程名称,创建时间等
     
    show create procedure Procedure_Name --显示存储过程Procedure_Name的详细信息
     
    exec sp_helptext Procedure_Name --显示你这个Procedure_Name这个对象创建文本
    

     

    展开全文
  • 数据库创建存储过程

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

    创建存储过程的原因:一般在数据库中SQL编辑器只能写sql语句,创建存储过程后可在对象编辑器中加入除了sql语句之外的语句(例如:if,else语句)。创建存储过程类似于python中创建函数,可传参。

    一.在Mysql-front创建过程(创建过程生成的代码在对象编辑器,执行过程在SQL编辑器)

    二.在终端输入命令创建存储过程

    1.无参

    创建过程
    delimiter // create procedure p1() BEGIN select * from t1; END// delimiter ;

    终端执行过程 call p1()
    python执行过程
    cursor.callproc('p1')
    result=cursor.fetchall()
    print(result)

    2.含参

    创建过程
    delimiter \\ create procedure p1(
    in i1 int, #只能传进参数,没有返回值 in i2 int, inout i3 int, #可传进参数,有返回值 out r1 int #传进的参数无用,out相当于return ) BEGIN DECLARE temp1 int; #声明temp1是int类型 DECLARE temp2 int default 0; set temp1 = 1; set r1 = i1 + i2 + temp1 + temp2; set i3 = i3 + 100; end\\ delimiter ;

    终端执行过程
    set @t1 =4;
    set @t2 = 0;
    CALL p1 (1, 2 ,@t1, @t2);
    SELECT @t1,@t2;

    python执行过程:
    cursor.callproc('p1',args=(1,22,3,4))
    cursor.execute('select @_p1_0,@_p1_1,@_p1_2,@_p1_3') #按照参数依次取
    
    

     

    转载于:https://www.cnblogs.com/gaoyukun/p/8060100.html

    展开全文
  • sql server 创建存储过程

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

    首先先把我困惑的地方放到前面,后面在详细讲一下过程。

    1. 在 “对象资源管理器”中,连接到 数据库引擎 的实例,然后展开该实例。

    2. 依次展开 “数据库”---》 “可编程性”

    3. 右键单击“存储过程”,再单击“新建存储过程”

    将会创建存储过程模板:

    让我困惑的 <Procedure_Name, sysname, ProcedureName>   有什么用?

    搜遍全网 也没答案。。。。


    上图其实是一个存储过程模板。<Procedure_Name, sysname, ProcedureName> 等替换字符串标记指定模板参数的值“面板 提供替换字符标记的。

    只有这种作用,和存储过程没有关系。

    <Procedure_Name, sysname, ProcedureName> -- Add the parameters for the stored procedure here<@Param1, sysname, @p1> <Datatype_For_Param1, , int> = <Default_Value_For_Param1, , 0>, <@Param2, sysname, @p2> <Datatype_For_Param2, , int> = <Default_Value_For_Param2, , 0>  这些替换字符串标记只是为了编辑器指定模板参数的值“面板 替换用的。

    点击sql server 的查询--->指定模板参数的值(快捷键ctrl+shift+m)。

    弹出如下窗口:

    这个窗口正是通过存储过程模板的特别标记字段。即上图以标记的对应关系寻找自定义字段的。

    如果删掉<Procedure_Name, sysname, ProcedureName> 

    然后再重新打开“指定模板参数的值”面板如下图:

    创建存储过程

    你会发现少了<Procedure_Name, sysname, ProcedureName> 对应的面板参数设置。

    现在明白<Procedure_Name, sysname, ProcedureName>等文本的意思了吧。

    他只是为“指定模板参数的值”面板服务的。当你在“指定模板参数的值”面板设置了参数,存储过程将会把上面的模板如<Procedure_Name, sysname, ProcedureName>

    自动替换成你设置的参数。如果你不使用这个面板,那你应该删除这些标记(<Procedure_Name, sysname, ProcedureName>等),替换成你想要的参数。

    下面是我通过模板设置生成的存储过程:

    上面的最终代码才是我们最终的存储过程代码。

    如果你不使用 “指定模板参数的值”面板设置参数,那么你应该手动替换删除上面的替换字符串标记

    最终的存储过程  样式如下:


     

    表红色框的才是一个存储过程改用的,其他字段需要我们去填写编辑

    存储过程  创建

    直接官网教程

    在对象资源管理器中创建过程

    1. 在 “对象资源管理器”中,连接到 数据库引擎 的实例,然后展开该实例。

    2. 依次展开 “数据库”、 AdventureWorks2012 数据库和 “可编程性”

    3. 右键单击“存储过程”,再单击“新建存储过程”。

    4. 在 “查询” 菜单上,单击 “指定模板参数的值”

    5. 在 “指定模板参数的值” 对话框中,输入下列所示的参数值。

      参数ReplTest1
      作者您的姓名
      创建日期今天的日期
      Description返回雇员数据。
      Procedure_nameHumanResources.uspGetEmployeesTest
      @Param1@LastName
      @Datatype_For_Param1nvarchar(50)
      Default_Value_For_Param1NULL
      @Param2@FirstName
      @Datatype_For_Param2nvarchar(50)
      Default_Value_For_Param2NULL
    6. 单击“确定” 。

    7. 在 “查询编辑器”中,使用以下语句替换 SELECT 语句:

      SQL复制
      SELECT FirstName, LastName, Department  
      FROM HumanResources.vEmployeeDepartmentHistory  
      WHERE FirstName = @FirstName AND LastName = @LastName  
          AND EndDate IS NULL;  
      
    8. 若要测试语法,请在 “查询” 菜单上,单击 “分析” 如果返回错误消息,则请将这些语句与上述信息进行比较,并视需要进行更正。

    9. 若要创建该过程,请在 “查询” 菜单上单击 “执行” 该过程作为数据库中的对象创建。

    10. 若要查看在对象资源管理器中列出的过程,请右键单击“存储过程”,然后选择“刷新”。

    11. 若要运行该过程,请在对象资源管理器中右键单击存储过程名称 HumanResources.uspGetEmployeesTest,然后选择“执行存储过程”。

    12. 在“执行过程”窗口中,输入 Margheim 作为参数 @LastName 的值,并输入值 Diane 作为参数 @FirstName 的值。

    下图是我创建的存储过程:




    展开全文
  • 创建存储过程和java调用存储过程

    千次阅读 2015-12-16 18:05:36
    创建存储过程--get_jobname create or replace procedure get_jobname(v_jobid in varchar2,v_jobname out varchar2) as begin select job_name into v_jobname from schedule_job where job_id = v_jobid; --变量...

    创建存储过程--get_jobname

    create or replace procedure get_jobname(v_jobid in varchar2,v_jobname out varchar2)
    as
    begin
      select job_name into v_jobname from schedule_job where job_id = v_jobid; --变量赋值
    
    end get_jobname;
    

    java调用存储过程

    public static void main(String[] args) {
    	Connection conn=JdbcTool.getConnByJdbc();
    	String pro_param="26D9542B27A8663CE0531480140ABFE4";
    	String procedure="{call get_jobname(?,?)}";  
    	try {
    		 CallableStatement cs=conn.prepareCall(procedure);
    		 cs.setString(1, pro_param);
    		 cs.registerOutParameter(2, oracle.jdbc.OracleTypes.VARCHAR);
    		 cs.execute();
    		 String outpara=(String) cs.getObject(2);
    		 System.out.println(outpara);
    	}catch (Exception e) {
    		e.printStackTrace();
    	}finally{
    		JdbcTool.closeConnection(conn);
    	}
    }
    con.commit();
    cs.close(); //必须的代码,否则执行成功但是数据库没有记录

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

    2018-02-27 16:45:37
    以下为navicat 创建存储过程步骤图解:1、2、3、4、 在存储过程正文中是输入一行语句测试用,点击保存5.输入存储过程名称,点击确定6.到这来那么问题来了,会提示错误7.切记存储过程的参数一定要设定长度。通过向导...
  • mysql 在navicat中创建存储过程

    万次阅读 2018-06-13 00:37:04
    1、navicat for mysql安装及连接到数据库navicat安装就不说了,...图12、在MySql Shell下创建存储过程创建存储过程时,可以在mysql shell里头写代码实现,下面是在shell创建并调用一个存储过程的简单实例。给定一...
  • DB2创建存储过程

    千次阅读 2020-04-26 17:55:47
    声明一个存储过程:CREATE PROCEDURE 存储过程名(IN 输入变量名 输入变量类型,OUT 输出变量名 输出变量类型) 存储过程名后面是存储过程属性列表,常用的有:LANGUAGE SQL、MODIFIES SQL DATA、RESULT SETS 1(返回结果...
  • MySQL创建存储过程

    千次阅读 2016-04-05 10:54:26
    mysql存储过程详解 1. 存储过程简介   我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程...一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有SQL语句和一
  • Oracle创建存储过程实例

    千次阅读 2018-04-24 23:15:05
    认识存储过程和函数 存储过程和函数也是一种PL/SQL块,是存入数据库的PL/SQL块。但存储过程和函数不同于已经介绍过的PL/SQL程序,我们通常把PL/SQL程序称为无名块,而存储过程和函数是以命名的方式存储于数据库中...
  • 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。在大型数据库系统中,...
  • 图解MySql命令行创建存储过程

    千次阅读 2016-09-02 18:53:35
    一 操作实例 首先登录mysql;..."当做存储过程中的代码; 调用一下,成功了; 创建一个带输出参数的存储过程,返回book表的记录数;创建成功; 如下的调用语句失败; 先在...
  • SQL创建存储过程

    千次阅读 2008-11-18 16:06:00
    您可以使用 Transact-SQL 语句 CREATE PROCEDURE 来创建存储过程创建存储过程前,请考虑下列事项: CREATE PROCEDURE 语句不能与其他 SQL 语句在单个批处理中组合使用。要创建过程,您必须具有数据库的 CREATE ...
  • SQLServer之创建存储过程

    万次阅读 2018-11-01 11:18:45
    创建存储过程注意事项 在 SQL Server、 Azure SQL Database、Azure SQL 数据仓库和并行数据库中创建 Transact-SQL 或公共语言运行时 (CLR) 存储过程,存储过程与其他编程语言中的过程类似。 可以在当前数据库...
  • Oracle创建存储过程(带详细说明)

    千次阅读 2019-08-12 09:41:15
    1、定义 所谓存储过程(Stored Procedure),就是一组用于完成特定数据库功能的SQL语句集,该SQL语句集经过 ...2、创建存储过程并调用 2.1 首先在plsql创建一个test window。 2.2 附上代码 create or r...
  • mysql创建存储过程

    千次阅读 2015-10-11 19:54:12
    1 关于food表  food表的结构和记录在我的另外一篇博客中有写,地址为 ... ...2 需要创建存储过程描述 ...需要在food表上创建一个名为food_price_count的存储过程,存储过程有3个参数, 输入参数为price_info1,price_i
  • MySQL——创建存储过程和函数

    千次阅读 2018-05-22 09:34:00
    简单地说,存储过程就是一条或多条 SQL 语句的集合,可视为批文件,但是其作用不仅限于批处理。...1. 创建存储过程 语法格式: CREATE PROCEDURE SP_name ( [ proc_parameter ] ) [ characteristi...
  • mysql 创建存储过程及函数

    千次阅读 2020-04-18 20:29:29
    1. 存储过程 1.1. 基本语法 create procedure name ([params]) UNSIGNED [characteristics] routine_body params : in|out|inout 指定参数列表 代表输入与输出 routine_body: SQL代码内容,以begin ..........
  • 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
  • SQL Server创建存储过程

    万次阅读 多人点赞 2008-11-18 20:38:00
    什么是存储过程?q 存储过程(procedure)类似于C语言中的函数q 用来执行管理任务或应用复杂的业务规则q 存储过程可以带参数,也可以...存储过程创建是就已经通过语法检查和性能优化,在执行时无需每次编译。存储在
  • 创建存储过程和触发器   1、建表 首先先建两张表(users表和number表),具体设计如下图:   2、存储过程 写一个存储过程,往users表中插入数据,创建过程如下:   代码如下:
  • 练习7:创建存储过程和函数

    千次阅读 2019-09-02 17:49:24
    案例:创建一个名称为sch的数据表,表结构如表1所示,将表2中的数据插入sch表中。 字段名 数据类型 主键 外键 非空 唯一 自增 id int(10) 是 否 是 是 否 name varchar(50) 否 否 是 否 否 glass ...
  • linux中mysql如何创建存储过程

    千次阅读 2017-07-20 11:16:29
    创建存储过程的完整命令: CREATE PROCEDURE pro1() begin  declare b int default 0; end; MySQL中运行存储过程创建语句错误结果: root@db1>CREATE PROCEDUREpro1()  -> begin  -> declare b int ...
  • MySQL使用SQLyog工具创建存储过程的注意事项。 1、注意事项一 如果使用SQLyog,直接创建存储过程,如下: -- 创建存储过程 CREATE PROCEDURE proc_search_user(IN page_index INT,IN page_size INT, OUT total_...
  • 1:是存储过程的参数没有设定长度导致的,我们在Navicat中创建存储过程时参数的长度需要自己动手去添加的否则就会包这种错误。 添加上参数的长度之后在保存就不会出错了。 2:如果参数没问题,检查下自己的...
  • mysql创建存储过程declare 变量时报错

    万次阅读 2014-07-16 16:46:54
    今天创建存储过程时,一直提示在decl
  • 写一个存储过程,往users表中插入数据,创建过程如下:      代码如下: BEGIN #Routine body goes here... declare n bigint; set n = 201421029684; while n  do insert into

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 882,123
精华内容 352,849
关键字:

创建存储过程的代码