精华内容
下载资源
问答
  • 存储过程的 3 种参数类型

    千次阅读 2019-11-01 14:27:41
    存储过程传入参数存储过程中修改该参数的值,不能别返回 OUT 是 把存储过程计算的结果放在该参数中,调用者可以得到返回值 INOUT 是 IN和OUT的结合,既用于存储过程的传入参数,同事又可以把计算结果放到...
    参数类型 是否返回 作用
    IN 向存储过程传入参数,存储过程中修改该参数的值,不能别返回
    OUT 把存储过程计算的结果放在该参数中,调用者可以得到返回值
    INOUT IN和OUT的结合,既用于存储过程的传入参数,同事又可以把计算结果放到参数中
    展开全文
  • oracle 向存储过程传入数组类型参数

    千次阅读 2012-04-20 13:14:49
    最近想试试给存储过程传数组参数,破费周折,在这里与大家分享下: 我用的plsql, 打开plsql,在type目录下面,可以创建自定义的数据类型, 于是用 create or replace type tab_str as table of varchar2(30); ...

    最近想试试给存储过程传数组参数,破费周折,在这里与大家分享下:


    我用的plsql, 打开plsql,在type目录下面,可以创建自定义的数据类型, 于是用  create or replace type tab_str as table  of varchar2(30);  创建了一个数组类型。


    接着用存储过程 procedure testfortable(pra in tab_str , pra_out out varchar2);  去调用,在C#里用

                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.CommandText = "dlias.pra_table.testtemp";
                  
                    OracleParameter Param1 = new
    OracleParameter(@"pra", OracleDbType.Varchar2, 3);
                 
                    Param1.Direction = ParameterDirection.Input;
                    Param1.CollectionType = OracleCollectionType.PLSQLAssociativeArray;
    
                    Param1.Value = new string[3]{"1", 
                                                "2", 
                                                "3"};
    
                
    
    去调用存储过程,但是一直提示我 参数个数或类型错误。找了很久的错误,我在包里用  TYPE list_type IS TABLE OF VARCHAR2(20) INDEX BY BINARY_INTEGER;  创建了一个数组类型,测试通过了,千万记得 ,不能把INDEX BY BINARY_INTEGER去掉,否则会报错,我也不知道为什么,如果有高人知道, 求指点
     


    展开全文
  • sql server 中 存储过程自定义类型表作为参数,怎么调试这个存储过程
  • MySQL 存储过程 参数类型

    千次阅读 2013-09-03 00:51:17
    MySQL 存储过程参数类型(in、out、inout) 此小节内容来自: 参见地址:http://www.blogjava.net/nonels/archive/2009/04/22/233324.html MySQL 存储过程参数(in) MySQL 存储过程 “in” 参数:跟 C ...

         MySQL 存储过程参数类型(in、out、inout)

    此小节内容来自:

    参见地址:http://www.blogjava.net/nonels/archive/2009/04/22/233324.html

    MySQL 存储过程参数(in)

    MySQL 存储过程 “in” 参数:跟 C 语言的函数参数的值传递类似, MySQL 存储过程内部可能会修改此参数,但对 in 类型参数的修改,对调用者(caller)来说是不可见的(not visible)。

    MySQL 存储过程参数(out)

    MySQL 存储过程 “out” 参数:从存储过程内部传值给调用者。在存储过程内部,该参数初始值为 null,无论调用者是否给存储过程参数设置值

    MySQL 存储过程参数(inout)

    MySQL 存储过程 inout 参数跟 out 类似,都可以从存储过程内部传值给调用者。不同的是:调用者还可以通过 inout 参数传递值给存储过程

    总结

    如果仅仅想把数据传给 MySQL 存储过程,那就使用“in” 类型参数;如果仅仅从 MySQL 存储过程返回值,那就使用“out” 类型参数;如果需要把数据传给 MySQL 存储过程,还要经过一些计算后再传回给我们,此时,要使用“inout” 类型参数。

    1.11     例子:

    展开全文
  • 存储过程概念 存储过程就是提前把已经编译好的一段 PL/SQL 语言,放置在数据库端,可以直接被调用。这一段 PL/SQL 一般都是固定步骤的业务。 创建存储过程语法: create [or replace] PROCEDURE 过程名[(参数名 in/...

    存储过程概念

    存储过程就是提前把已经编译好的一段 PL/SQL 语言,放置在数据库端,可以直接被调用。这一段 PL/SQL 一般都是固定步骤的业务。

    创建存储过程语法:

    create [or replace] PROCEDURE 过程名[(参数名 in/out 数据类型)]
    AS
    begin
    PLSQL子程序体;
    End;
    

    或者

    create [or replace] PROCEDURE 过程名[(参数名 in/out 数据类型)]
    is
    begin
    PLSQL子程序体;
    End 过程名;
    

    学习笔记

    1、创建一个给指定员工涨 100 块钱的存储过程

    create or replace procedure p1(eno emp.empno%type)
    is
    
    begin
       update emp set sal=sal+100 where empno = eno;
       commit;
    end;
    

    2、测试 p1存储过程

    declare
    
    begin
      p1(7788);
    end;
    

    3、使用查询语句验证结果

    SELECT *
    FROM emp
    WHERE empno = 7788;
    

    4、使用存储过程来算年薪

    create or replace procedure p_yearsal(eno emp.empno%type, yearsal out number)
    is
       s number(10);
       c emp.comm%type;
    begin
       select sal*12, nvl(comm, 0) into s, c from emp where empno = eno;
       yearsal := s+c;
    end;
    

    5、测试 p_yearsal

    declare
      yearsal number(10);
    begin
      p_yearsal(7788, yearsal);
      dbms_output.put_line(yearsal);
    end;
    

    6、in 和 out 类型参数的区别是什么?

    凡是涉及到 into 查询语句赋值或者 := 赋值操作的参数,都必须使用 out 来修饰。

    展开全文
  • 在使用oracle进行批量插入的时,如果数据量较小可以使用install all的语法进行批量插入。... 使用存储过程批量插入很显然要接收一个数组当参数,而且这个数组里的元素类型应该和java里自定义的数据模型对应。
  • mysql存储过程参数类型

    千次阅读 2018-06-15 14:14:44
    存储过程可以理解成程序中封装的代码块,并且可以相互调用由于下面的例子会使用变量,那么先了解一下变量。变量分为用户变量和系统变量用户变量变量名以@开头创建用户变量mysql> select 'hello' into @a; ...
  • Oracle存储过程及举例(几种参数情况的存储过程

    万次阅读 多人点赞 2017-05-06 22:22:50
    Oracle存储过程及举例(几种参数情况的存储过程
  • 获取存储过程参数类型,长度

    千次阅读 2012-07-30 20:21:04
    --获取存储过程参数类型,长度 select a.name '参数',b.name '类型',a.length '长度' from syscolumns a,systypes b where id = object_id('proc_test') and a.xtype=b.xtype --查看存储过程的定义 e
  • mysql存储过程 变量和参数类型

    万次阅读 2018-03-27 10:23:04
    一个简单的存储过程delimiter $$ create procedure testa() begin select * from p_m_table ; end; $$ delimiter ;存储过程的结构组成:1.创建格式 :create procedure 存储过程名2.包含一个以上代码块,代码块在...
  • MySQL中不同类型参数存储过程示例

    千次阅读 2017-02-14 11:20:17
    ① 创建存储过程声明变量时不加 @(如DECLARE id int unsigned DEFAULT 20 (非用户变量));② 但是无论从Mysql客户端下或者Navicat for MySQL ,使用变量参数(用户变量)要加 @ 符号如call proc1(@x);。③ 调用存储过程...
  • 存储过程中使用date日期类型参数,需要定义日期类型date的变量重新赋值一次,赋值的过程貌似会做一次转换,之后才能正常使用,不然使用这个日期查询结果不准确,经常会得到无效的结果。 CREATE OR REPLACE ...
  • Oracle存储过程之带返回参数

    千次阅读 2015-12-24 17:15:11
    1、基本语法 创建存储过程,需要CREATEPROCEDURE或CREATE ...CREATE [OR REPLACE] PROCEDURE 存储过程名[(参数[IN|OUT|IN OUT] 数据类型...)] {AS|IS} [说明部分:参数定义、变量定义、游标定义] BEGIN  可
  • Oracle存储过程参数理解 (2010-11-12 11:23:34)  转自:http://blog.sina.com.cn/s/blog_45daee4a0100n9ar.html 一、过程 (存储过程)  过程是一个能执行某个特定操作的子程序。使用CREATE OR REPLACE...
  • mybatis调用存储过程 无参、带输入输出参数,输出游标类型的 存储 Mybatis中接收存储过程的 out型参数
  • 在Firebird下使用动态参数,配合Format格式输出时,当数据库字段为TimeStamp时,sql用Format('Execute procedure p_InsertTable(''s'')',[FormatDateTime('yyyy-mm-dd hh:mm:ss',Now)]);其SQL为:Execute procedure p_...
  • 使用数据类型,我们可以避免在存储过程里定义一串的参数,让人眼花缭乱,它就相当于面向对象语言里,向一个方法里传入一个对象,而该对象各种属性,存储过程只需要获取这个对象就能获取到各个参数,然后做出相应的...
  • mysql存储过程功能弱问题一直是大家关注的问题,今天讲一下Mysql存储过程无法传递数组类型参数的解决方案。在很多的情况下,在编写存储过程中往往会用到数组,但是mysql中存储过程传入参数并没有可以直接传入数组的...
  • ORACLE存储过程

    万次阅读 多人点赞 2018-11-02 18:14:48
    oracle存储过程 目录 一.什么是存储过程 二.为什么要写存储过程 三.存储过程基础 1.存储过程结构 2.存储过程语法 3.pl/sql处理存储过程 四.存储过程进阶 1.BUIK COLLECT 2.FORALL 3.pl/sql调试存储过程 ...
  • oracle存储过程接收自定义数组类型参数 2016年10月29日 09:53:23 ntuloser 阅读数:1092 标签: oraclejava存储mybatis 更多 个人分类: 数据库 版权声明:本文为博主原创文章,未经博主允许不得转载。 ...
  • 4. 输入参数和输出参数存储过程 返回值其实是一种特殊的输出参数。在大多数情况下,我们用到的是同时输入及输出参数存储过程,比如我们想取得用户信息表中,某ID用户的用户名,这时候,一个输入参数----...
  • 存储过程参数Text类型的长度

    千次阅读 2012-08-26 12:10:25
    public int UpdateTemp(TempData message, int userId)  {  SqlParameter[] parms = {  new SqlParameter("@temp_id",SqlDbType.Int,4),... // Text类型的最大长度为 2147483647 个字符
  • A . 嵌套表 1. 声明数组类型 create or replace type tab_array is table of varchar2(38);... 创建存储过程 -- 该例子存储过程是在包中创建的,包名 arraydemo procedure testArray(resNumber in tab_array,pr
  • MySQL存储过程和函数过程和函数,它们被编译后保存在数据库中,称为持久性...1.1 存储过程存储过程是由过程化 SQL 语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,因此称它为存储过程,使用时只要调用
  • 先定义一个 package , package中含有一个 record 类型的变量 create or replace package pkg_record is type emp_record is record( ...定义一个存储过程create or replace procedure pro_add_emp(v_emp_rcd i

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 795,993
精华内容 318,397
关键字:

存储过程有哪些类型的参数