精华内容
下载资源
问答
  • 数据库存储过程

    千次阅读 2019-02-18 14:44:00
    什么是数据库存储过程?  存储过程(Stored Procedure)是一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。 用来执行管理...

    一.什么是数据库存储过程?
         存储过程(Stored Procedure)是一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
    用来执行管理任务或应用复杂的业务规则。
         存储过程可以带参数,也可以返回结果。
         存储过程可以包含数据操纵语句、变量、逻辑 控制语句等。
         存储过程是一组预编译的SQL语句,它可以包含数据操纵语句、变量、逻辑控制语句等
         存储过程允许带参数,参数分为:
         输入参数
         输出参数
         其中,输入参数可以有默认值

    二.存储过程的优点:
        (1)存储过程的能力大大增强了SQL语言的功能和灵活性。
      (2)可保证数据的安全性和完整性。
      (3)通过存储过程可以使没有权限的用户在控制之下间接地存取数据库,从而保证数据的安全。
      (4)通过存储过程可以使相关的动作在一起发生,从而可以维护数据库的完整性。
      (5)在运行存储过程前,数据库已对其进行了语法和句法分析,并给出了优化执行方案。这种已经编译好的过程可极大地改善SQL语句的性能。
      (6)可以降低网络的通信量。
      (7)使体现企业规则的运算程序放入数据库服务器中,以便集中控制。
        (8)存储过程可以分为系统存储过程、扩展存储过程和用户自定义的存储过程;
    三.存储过程的分类
    (1)数据库系统存储过程:数据库自带

         我们先来看一下系统存储过程,系统存储过程由系统定义,主要存放在MASTER数据库中,名称以"SP"开头或以"XP"开头。尽管这些系统存储过程在MASTER数据库中,

       但我们在其他数据库还是可以调用系统存储过程。有一些系统存储过程会在创建新的数据库的时候被自动创建在当前数据库中。

      常用系统存储过程有:

    • exec sp_databases; --查看数据库
    • exec sp_tables;        --查看表
    • exec sp_columns student;--查看列
    • exec sp_helpIndex student;--查看索引
    • exec sp_helpConstraint student;--约束
    • exec sp_helptext 'sp_stored_procedures';--查看存储过程创建定义的语句
    • exec sp_stored_procedures;
    • exec sp_rename student, stuInfo;--更改表名
    • exec sp_renamedb myTempDB, myDB;--更改数据库名称
    • exec sp_defaultdb 'master', 'myDB';--更改登录名的默认数据库
    • exec sp_helpdb;--数据库帮助,查询数据库信息
    • exec sp_helpdb master;
    • exec sp_attach_db --附加数据库
    • exec sp_detach_db --分离数据库

    (2)用户自定义数据库存储过程:由用户根据需要自定义

    .使用存储过程实例:

        1.不带参数
            create procedure proc_select_officeinfo--(存储过程名)
            as select Id,Name from Office_Info--(sql语句)

            exec proc_select_officeinfo--(调用存储过程)
        2.带输入参数
            create procedure procedure_proc_GetoffinfoById --(存储过程名)
            @Id int--(参数名 参数类型)
            as select Name from dbo.Office_Info where Id=@Id--(sql语句)

            exec procedure_proc_GetoffinfoById 2--(存储过程名称之后,空格加上参数,多个参数中间以逗号分隔)

            注:参数赋值是,第一个参数可以不写参数名称,后面传入参数,需要明确传入的是哪个参数名称
        3.带输入输出参数
            create procedure proc_office_info--(存储过程名)
            @Id int,@Name varchar(20) output--(参数名 参数类型)传出参数要加上output
            as 
            begin
            select @Name=Name from dbo.Office_Info where Id=@Id --(sql语句)
            end

            declare @houseName varchar(20) --声明一个变量,获取存储过程传出来的值
            exec proc_office_info--(存储过程名)
            4,@houseName output--(传说参数要加output 这边如果用@变量 = OUTPUT会报错,所以换一种写法)

            select @houseName--(显示值)
        4.带返回值的
            create procedure proc_office_info--(存储过程名)
            @Id int--(参数名 参数类型)
            as 
            begin
            if(select Name from dbo.Office_Info where Id=@Id)=null --(sql语句)
            begin
            return -1
            end
            else
            begin
            return 1
            end
            end

            declare @house varchar(20) --声明一个变量,获取存储过程传出来的值
            exec @house=proc_office_info 2 --(调用存储过程,用变量接收返回值)
            --注:带返回值的存储过程只能为int类型的返回值
            print @house

     

     

    展开全文
  • MySQL数据库存储过程讲解与实例

    万次阅读 多人点赞 2018-06-03 00:48:17
    SQL语句需要先编译然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。...

    存储过程简介

        SQL语句需要先编译然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。

        存储过程是可编程的函数,在数据库中创建并保存,可以由SQL语句和控制结构组成。当想要在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中的存储过程可以看做是对编程中面向对象方法的模拟,它允许控制数据的访问方式。

        存储过程的优点:

        (1).增强SQL语言的功能和灵活性:存储过程可以用控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。

        (2).标准组件式编程:存储过程被创建后,可以在程序中被多次调用,而不必重新编写该存储过程的SQL语句。而且数据库专业人员可以随时对存储过程进行修改,对应用程序源代码毫无影响。

        (3).较快的执行速度:如果某一操作包含大量的Transaction-SQL代码或分别被多次执行,那么存储过程要比批处理的执行速度快很多。因为存储过程是预编译的。在首次运行一个存储过程时查询,优化器对其进行分析优化,并且给出最终被存储在系统表中的执行计划。而批处理的Transaction-SQL语句在每次运行时都要进行编译和优化,速度相对要慢一些。

        (4).减少网络流量:针对同一个数据库对象的操作(如查询、修改),如果这一操作所涉及的Transaction-SQL语句被组织进存储过程,那么当在客户计算机上调用该存储过程时,网络中传送的只是该调用语句,从而大大减少网络流量并降低了网络负载。

        (5).作为一种安全机制来充分利用:通过对执行某一存储过程的权限进行限制,能够实现对相应的数据的访问权限的限制,避免了非授权用户对数据的访问,保证了数据的安全。

    MySQL的存储过程

        存储过程是数据库的一个重要的功能,MySQL 5.0以前并不支持存储过程,这使得MySQL在应用上大打折扣。好在MySQL 5.0开始支持存储过程,这样即可以大大提高数据库的处理速度,同时也可以提高数据库编程的灵活性。

    MySQL存储过程的创建

        语法

    CREATE PROCEDURE  过程名([[IN|OUT|INOUT] 参数名 数据类型[,[IN|OUT|INOUT] 参数名 数据类型…]]) [特性 ...] 过程体

    DELIMITER //
      CREATE PROCEDURE myproc(OUT s int)
        BEGIN
          SELECT COUNT(*) INTO s FROM students;
        END
        //
    DELIMITER ;
        分隔符

        MySQL默认以";"为分隔符,如果没有声明分割符,则编译器会把存储过程当成SQL语句进行处理,因此编译过程会报错,所以要事先用“DELIMITER //”声明当前段分隔符,让编译器把两个"//"之间的内容当做存储过程的代码,不会执行这些代码;“DELIMITER ;”的意为把分隔符还原。

        参数

        存储过程根据需要可能会有输入、输出、输入输出参数,如果有多个参数用","分割开。MySQL存储过程的参数用在存储过程的定义,共有三种参数类型,IN,OUT,INOUT:

    IN参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值OUT:该值可在存储过程内部被改变,并可返回INOUT:调用时指定,并且可被改变和返回

        过程体

        过程体的开始与结束使用BEGIN与END进行标识。

    MySQL实例与讲解

    1. 创建一存储过程,求l+2+3+…+n,并打印结果

    先使用MySQL语句创建存储过程,再使用call语句调用这一存储过程查看结果,可以看到由于未输入n的值,sum结果为0。

    2.调用上面addresult存储过程,打印l十2+3+…+10的结果

    在第一题的addresult过程基础上,加上一条“set n=10”语句,设定n的值,调用该过程后打印结果,可以看到结果为sum=1+2+3+...+10=55。

     

    3. 修改上述存储过程addresult1,使得n为输入参数,其具体值由用户调用此存储过程时指定。

    在这里需要注意的是,MySQL存储过程只能改名字和定义,不能改里面的内容。要删了重新建。所以这里选择重新建立一个addresult1过程,调用后输入n,查看打印结果。

     

    4.上面修改后的addresult1存储过程,打印l+2+3+…+100的结果

    调用上述过程,输入参数n为100,可以看到打印结果中sum=5050,结果正确。


    5.
    修改上述存储过程addresult2n参数设定默认值为10,并改设sum为输出参数,让主程序能够接收计算结果。

    3中存储过程中的“in n int”修改为“out sum int”,并在存储过程中设定n默认值为10。

     

    6.调用上面修改后的addresult2存储过程,设置变量接收计算l+2+3+…+10的结果

    调用addresult2过程,可以看到输出结果sum=55。

     

    7.创建一存储过程Proc_Student,用于显示学号为“0102”的学生基本信息包括学号、姓名、性别和系

    创建存储过程,将查询语句写在存储过程中,相当于将一个查询语句封装在存储过程中,通过调用这个存储过程,便可执行该查询操作。

     

    8.创建一存储过程Stu_grade通过读取某门课的编号求出不及格的学生的学号

    同上一题,将查询过程封装在存储过程中,并且使用“int ID int”来实现课程编号的自定义输入,再根据输入的课程编号进行查询。

     

    9.调用上面的存储过程Stu_grade,求出课程编号为“0101”的不及格的学生

    调用存储过程Stu_grade,输入课程编号为“0101”,查看打印结果。

     

    10.创建一存储过程avgGrade,通过读取学生的学号以参数形式返回该学生的平均分

    在创建存储过程时,设定学号为输入,平均成绩为输出,且因为平均成绩可能出现小数,所以设定其数据类型为float。通过select语句将平均分以参数形式返回。

     

    11.调用上面的存储过程avgGrade,求出学号为“990102014”的平均分

    输入学号与输出参数,可以看到该学生的平均成绩被打印出来。

     

    12.删除上述存储过程avgGrade

    对于存储过程的删除,使用drop语句即可。

     

    13.创建存储过程search,该存储过程有三个参数,分别为t、p1,p2,根据这些参数,找出书名与t有关,价格在p1与p2(p2>=p1)之间的书的编号,书名,价格,出舨日期。如果用户调用时没有指定t参数的值.则表示可为任意值,如用户没有指定p2,则书本价格没有上限。用到的关系为:titles (title_id,title,price,pubdate)。

     



    14.调用上面的存储过程search,求出书名与computer有关而且价格小于$20大于$10的书。

    调用存储过程search,将参数computer,10,20传入,查看打印结果。



     


    总结

        本次主要是掌握了对于存储过程的使用,总的来说,存储过程实际上类似于C++中的函数,而在C++中我们是需要在创建这一过程的文件中去调用这一函数,但是对于存储过程来说,相当于是将这一操作过程存储在数据库中,可以使用call与对其进行调用,并输入或者输出一些参数和结果。

        印象最深的是类似“in n int”和“out sum int”这样的对于输入输出的定义,通过查看相关博客,可以总结如下对于输入输出定义的使用规律:

        MySQL存储过程的参数用在存储过程的定义,共有三种参数类型

        IN,OUT,INOUT
        格式为:Create procedure|function([[IN |OUT |INOUT ] 参数名 数据类形...])

        IN 输入参数
            表示该参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值

        OUT 输出参数
            该值可在存储过程内部被改变,并可返回

        INOUT 输入输出参数
            调用时指定,并且可被改变和返回

        IN 和 OUT在实验中已有体会,主要是对INOUT的理解,这里引用一个例子:

     

    参数inout的使用实例(既能输入一个值又能传出来一个值)
        语句功能:传一个年龄,自动让年龄增长10岁
        create procedure p3(inout age int)
        begin
        set age:=age+10;
        end
        其中:调用的时候,inout型的参数值既是输入类型又是输出类型,给它一个值,值不是变量,因此我们需要先设置一个变量并初始化这个值,调用的时候直接传这个变量即可。
        set @currentAge=8$
        call p3(@currentAge)$
        select @currentAge$
        创建并执行完存储过程,运行结果如下:
            

     

    另外,更多关于数据库、网络技术、信息安全等方面的文章,感兴趣的(尤其是想打CTF的)欢迎来我的博客上看看

    展开全文
  • ORACLE 本地数据库存储过程 调用远程数据库存储过程 http://www.4ucode.com/Study/Topic/726884 废话少说,直接切入主题  步骤1:建立一个远程数据库的连接服务名  D:\oracle\ora92\network\admin\...



    废话少说,直接切入主题 
    步骤1:建立一个远程数据库的连接服务名 
    D:\oracle\ora92\network\admin\tnsnames.ora 添加如下代码: 
    SDEC =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.254)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = DEC)
        )
      )


    步骤2:本地数据库建立一个db link 
      CREATE PUBLIC DATABASE LINK doko CONNECT TO gz IDENTIFIED BY GZ USING 'SDEC';


    ps:这里的SDEC 就是上面配置的服务名 


    步骤3:编写远程数据库写个测试的存储过程 
    create or replace procedure test(a in integer,b out integer) is
    begin
      b:=a+1000;
    end test;


    步骤4:编写本地数据库的存储过程 
    create or replace procedure test2 is
    p integer;
    begin
      test@doko(1,p);
      dbms_output.put_line('p='||p); 
    end test2;


    步骤5:本地测试存储过程 
    SQL> set serveroutput on
    SQL> exec test2;
     
    p=1001
     
    PL/SQL procedure successfully completed
     
    SQL> 
    展开全文
  • 存储过程中为什么要申明变量??????????不声明可以吗?????????????????????????在什么样的情况下声明和不申明??????
  • MySQL数据库存储过程

    万次阅读 多人点赞 2017-03-22 19:34:29
    本文以MySQL数据库为例对数据库存储过程进行介绍,包括创建、查看、执行和删除存储过程,并对比了WHILE和repeat循环的差别。 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集...

    存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。
    ——百度百科

    存储过程

    如图所示,在普通模式下获取数据,用户需要输入SQL命令与数据库进行交互,而存储过程是编写好的SQL命令,存储在数据库中,用户操作的时候只需要调用存储过程,而不用重新输入冗余繁杂的SQL命令。因此

    • 存储过程有什么优点?
      1.存储过程可以重复使用,大大减小开发人员的负担;
      2.对于网络上的服务器,可以大大减小网络流量,因为只需要传递存储过程的名称即可;
      3,可以防止对表的直接访问,只需要赋予用户存储过程的访问权限。

    0 存储过程相关命令汇总

    操作 SQL命令
    创建存储过程 CREATE PROCEDURE 存储过程名(参数种类1 参数1 数据类型1,[...] BEGIN 具体的procedure(处理) END
    查看数据库中的存储过程 SHOW PROCEDURE STATUS\G
    查看具体的存储过程 SHOW CREATE PROCEDURE 存储过程名\G
    调用(执行)存储过程 CALL 存储过程名(参数1,...);
    删除存储过程 DROP PROCEDURE 存储过程名
    变量声明 DECLARE 变量名 数据类型;
    变量赋值 SET 变量名= ;

    1 存储过程

    1.1 创建存储过程 CREATE PROCEDURE

    创建存储过程的命令是:

    
    >CREATE PROCEDURE 存储过程名(参数种类1 参数1 数据类型1,[...])
     BEGIN
     具体的procedure(处理)
     END
    • 1)存储过程中具体的处理类容放在BEGINEND 之间;
    • 2)存储过程需要制定参数,包括种类(IN,OUT,INOUT,分别代表输入参数,输出参数和即是输入也是输出的参数),参数名和数据类型。【和函数不同,函数指定输入参数即可】

    eg:创建一个对表customer的姓名(nam)进行模糊检索,命名为sp_search_customer。

    创建存储过程

    对于上图创建PROCEDURE的几点说明:
    >DELIMITER //表示给变分隔符,默认分隔符是;,否则存储过程中含有;,MySQL监视器无法分辨。(最后将分隔符改回来)
    ②存储过程(BEGINEND 之间)的具体处理内容,主要包括条件、case,循环。

    分类 SQL命令
    简单条件 IF cond1 THEN
        exp1
    ELSEIF cond2 THEN
        exp2
    ELSE
        expelse
    END IF
    case CASE 表达式
        WHEN 值1 THEN …
        WHEN …THEN…
        ELSE …
    END CASE
    循环(后置判断) REPEAT

    UNTIL …END REPEAT
    循环(前置判断) WHILE … DO

    END WHILE

    **1.2 查看存储过程** 查看数据库中是否存在存储过程:

    >SHOW PROCEDURE STATUS\G

    查看存储过程的具体信息:

    >SHOW CREATE PROCEDURE 存储过程名\G

    eg:查看存储过程sp_search_customer

    查看存储过程

    1.3 执行存储过程 CALL
    调用存储过程使用CALL 存储过程名命令,具体如下:

    CALL 存储过程名(参数,...)

    eg:通过创建好的存储过程sp_search_cusotmer来执行存储过程:
    检索‘王’姓顾客:

    >CALL sp_search_customer('王%');

    检索所有顾客:

    >CALL sp_search_customer('');

    调用存储过程

    1.4 删除存储过程 DROP PROCEDURE
    删除存储过程使用命令:

    DROP PROCEDURE 存储过程名;

    2 存储过程优化

    (1)使用if条件语句创建存储过程

    if条件_存储过程

    可以看到,上述条件语句部分的结构大致都为:

    IF... THEN
    SELECT...;
    ELSEIF ...THEN
    SELECT...;
    ELSEIF...THEN
    SELECT...;
    ELSE
    SELECT...;

    其中的语句具有较高的重复性冗余性,因此比较繁琐,如果我们用CASE替代呢?
    (2)CASE命令的多重分支

    使用CASE来创建多重分支:

    CASE_存储过程

    p_dapart放到CASE之后,一个p_dapart取代了多个p_dapart,因此使用CASE代码在判断语句处显得简洁一些,如果通过定义变量的形式呢?

    (3)定义本地变量

    存储过程中定义的变量,被称为本地变量,对程序设计语言有所了解的知道这是一个局部变量。数据库中,
    声明局部变量的命令:

    >DECLARE 变量名 数据类型 [初始值...]

    给变量赋值的命令:

    >SET 变量名=

    ,在创建procedure过程中顶一个本地变量tem:

    本地变量_存储过程

    可以看到,这种方式大大地简化了代码的冗余性和重复性。

    3 再说存储过程的输出参数

    在创建存储过程的时候,如果制定了OUTINOUT,在调用存储过程时请在输出参数前面加上@,这样结果将保存到“@变量名“中。

    eg:创建一个计算阶乘的存储过程:

    存储过程输出参数

    最终的结果将保存到“@res“之中,如上图所示。

    • 请注意,用WHILE循环创建的计算阶乘的存储过程,!5=120,!0=1,结果是正确的。先记住这句话,接下来看下用REPEAT创建同样的阶乘计算的存储过程。

    4 再说WHILE 和 REPEAT循环

    我们使用repeat创建一个计算阶乘的存储过程:

    REPEAT_存储过程

    接下来看下同样计算!5!0结果如何?

    repeat_存储过程

    可以看到!5=120的结果正确,但是!0得到的结果为0,不为1。这是什么原因呢?
    问题出在WHILE是前置判断,是先验的,先验证WHILE后面的条件是否成立,为TRUE则继续执行,若FALSE则结束循环;
    而REPEAT是后置判断,是后验的,不管三七二十一先执行语句,然后验证UNTIL后面的条件语句是否成立,不成立则结束。因此REPEAT循环执行了一次presult=presultpnumpresult=10
    因此:

    • WHILE循环是前置判断,先验的循环
    • REPEAT循环是后置判断,后验的循环
    展开全文
  • Oracle数据库存储过程开发

    千次阅读 2018-04-06 09:26:29
    Oracle数据库存储过程开发 Oracle数据库存储过程开发: 一个完整的存储过程开发包含如下流程:: 1.存储过程包头Package定义 2.存储过程包体PackageBody定义 3.存储过程定时程序Program定义 4.存储过程定时调度...
  • SQL Server数据库存储过程——以自定义存储过程为例 1、什么是数据库存储过程 存储过程就是预编译SQL语句的集合,这些语句存储在一个名称下并作为一个单元处理。存储过程代替了传统的逐条执行SQL语句的方式 SQL...
  • 任务六 数据库存储过程设计 文章目录任务六 数据库存储过程设计【实训目的与要求】【实训原理】【实训步骤】一、定义、调用存储过程1.创建不带参数的存储过程2.创建带输入参数的存储过程3.创建带输入、输出参数...
  • MyBatis如何调用mysql数据库存储过程

    千次阅读 2020-09-25 20:12:47
    MyBatis如何调用mysql数据库存储过程 存储过程的含义:是一组预先写好的能实现某种功能的T-SQL程序,是存储在服务器上的预编译集合。 (存储过程是一种独立的数据库对象,在服务器上创建和运行。) 存储过程的优点...
  • servlet 调用oracle数据库存储过程

    万次阅读 2019-03-22 11:25:18
    servlet首先建立数据库连接类ConnectFactory: import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import javax.naming.InitialContext; import javax.sql.DataSource; ...
  • 数据库存储过程 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果...
  • 数据库存储过程缺点总结

    千次阅读 2017-05-04 22:26:17
    数据库存储过程缺点总结,及各位讨论经典语录 1、数据库移植不方便: 2、大量采用存储过程进行业务逻辑的开发致命的缺点是很多存储过程不支持面向对象的设计,无法采用面向对象的方式将业务逻辑进行封装,从而无法...
  • 数据库存储过程和触发器概述

    千次阅读 2017-03-24 11:12:44
    数据库存储过程是一种数据库对象,是为了实现某个特定任务,将一组预编译的SQL语句以一个存储单元的形式存储在服务器上,供用户调用。存储过程在第一次执行时进行编译,然后将编译好的代码保存在高速缓存中以便以后...
  • JAVA调用数据库存储过程

    千次阅读 2016-09-12 09:21:46
    下面将举出JAVA对ORACLE数据库存储过程的调用   ConnUtils连接工具类:用来获取连接、释放资源 package com.ljq.test; import java.sql.Connection; import java.sql.DriverManager; import java.sql....
  • Mysql数据库存储过程基本语法讲解

    万次阅读 2018-02-06 18:01:13
    Mysql数据库存储过程基本语法讲解 一般情况下MYSQL以;结尾表示确认输入并执行语句,但在存储过程中;不是表示结束,因此可以用该命令将;号改为//表示确认输入并执行。存储过程如同一门程序设计语言,同样包含了...
  • 数据库存储过程与存储函数

    千次阅读 2018-12-09 18:49:14
     存储过程是一组为了完成特定功能的SQL语句集,经过编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它,叫做存储过程、存储函数。 2. 存储过程与存储函数的区别  ...
  • JDBC对MySQL数据库存储过程的调用

    千次阅读 多人点赞 2014-06-25 15:58:27
    JDBC对MySQL数据库存储过程的调用
  • SQL-Server数据库存储过程学习

    千次阅读 2018-08-30 20:01:21
    在生产中涉及到SQL-Server数据库存储过程,顺便学习记录 --创建存储过程 可生成当年所有日期,并且周末工作时间为0小时 ,其中HR_Calendar 为业务表 CREATE PROCEDURE dbo.Auto_HR_Calendar AS  SET DATEFIRST 1...
  • oracle数据库存储过程问题: 传入一个字符串(字符串格式如:“辣椒_食品,西红柿_食品,板鞋_服饰,植物油_食品,领带_食品,……”) 现在我想根据“,”来截断字符串存储到数组(其他变量也行)。然后就可以得到这样的...
  • 数据库存储过程简单介绍

    千次阅读 2019-03-05 15:37:35
    存储过程就是一条或多条SQL语句的集合 当对数据库进行一系列的操作时 存储过程就可以将这些复杂的操作封装成一个代码块 以便重复使用 大大减少了数据库开发人员的工作量 创建存储过程 创建存储过程的基本语法 CREATE...
  • mySql数据库存储过程打印参数写法

    千次阅读 2017-05-23 20:05:28
    以下是mySql数据库存储过程打印参数的写法,希望大家了解和指正: 相对Oracle数据库的 dbms_output.put_line(); 在mysql里面的写法是 select 参数名; 形式. 举个栗子: drop procedure if exists '...
  • java 中可以调用数据库存储过程,不能调用数据库事件么 数据库事件 就是 create event event_set on schedul every 1 day ...... 能跟调用存储过程似的在java中调用么
  • C++ 调用SQLSERVER 数据库存储过程示例

    千次阅读 2017-06-07 14:07:27
    C++ 调用SQLSERVER 数据库存储过程示例 1.数据库名为5C_DB,数据库登陆账户名:sa,密码为:duan00 2.存储过程名为“[dbo].[GetAllPicPath]”,输入一个整数,CheckRecordID int,返回(五个图片路径+一个整数表示不同...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 60,096
精华内容 24,038
关键字:

数据库存储过程