精华内容
下载资源
问答
  • 看了很多网上有关Mybatis引用存储过程的文章,但是大多都是XML的形式,记录一下,自己在项目当中写的代码。 @Select({"CALL community_db.proc_gethealth(#{callBackDTO.userId, mode = IN, jdbcType = BIGINT}, " ...

    Mybatis 存储过程

    看了很多网上有关Mybatis引用存储过程的文章,但是大多都是XML的形式,记录一下,自己在项目当中写的代码。

        @Select({"CALL community_db.proc_gethealth(#{callBackDTO.userId, mode = IN, jdbcType = BIGINT}, " +
                "#{callBackDTO.iHealth, mode = OUT, jdbcType = INTEGER}, " +
                "#{callBackDTO.sUpdateTime, mode = OUT, jdbcType = VARCHAR})"})
        @Options(statementType= StatementType.CALLABLE)
        CallBackDTO callGetHealth(@Param("callBackDTO") CallBackDTO callBackDTO) throws Exception;
    

    后来打印了 这个Mapper返回的东西发现是null,但是原来注入参数的这个DTO里面已经填好了

    展开全文
  • //执行存储过程 String ename=csm.getString(2); String dname=csm.getString(3); System.out.println("查询结果:"+ename+","+dname); csm.close(); conn.close(); } @Test public void testFunction() throws ...
    public class TestOracle {
        private static String url="jdbc:oracle:thin:@//127.0.0.1:1521/orcl";
        private static String username="system";
        private static String password="oracle";
        private static String driverClass="oracle.jdbc.driver.OracleDriver";
        @Test
        public void test() throws Exception {
            Class.forName(driverClass);
            Connection conn= DriverManager.getConnection(url,username,password);
            System.out.println(conn);
            Statement sm=conn.createStatement();
            String sql="select * from scott.emp";
            ResultSet rs=sm.executeQuery(sql);
            while (rs.next()){
                System.out.println(rs.getString("empno")+"-"+rs.getString("ename"));
    
            }
            rs.close();
            sm.close();
            conn.close();
    
    
        }
    
        @Test
        public void testProcedure() throws Exception {
            Class.forName(driverClass);
            Connection conn= DriverManager.getConnection(url,username,password);
            String sql="{call get_emp_by_eno_proc(?,?,?)}";//调用函数的sql语句
            CallableStatement csm=conn.prepareCall(sql);
            //设置动态参数
            csm.setString(1,"7369");
            csm.registerOutParameter(2, OracleTypes.VARCHAR);//出参2
            csm.registerOutParameter(3, OracleTypes.VARCHAR);//出参3
            csm.execute();//执行存储过程
            String ename=csm.getString(2);
            String dname=csm.getString(3);
            System.out.println("查询结果:"+ename+","+dname);
            csm.close();
            conn.close();
        }
    
        @Test
        public void testFunction() throws Exception {
            Class.forName(driverClass);
            Connection conn= DriverManager.getConnection(url,username,password);
            String sql="{?=call get_longesthired_emp()}";
            CallableStatement csm=conn.prepareCall(sql);
            csm.registerOutParameter(1,OracleTypes.CURSOR);//出参
            csm.execute();//执行函数
            ResultSet rs=((OracleCallableStatement)csm).getCursor(1);//第一个出参按游标类型获取
            while (rs.next()){
                System.out.println(rs.getString("ename")+"-"+rs.getString("入职天数"));
            }
            csm.close();
            conn.close();
    
        }
    }
    
    

    测试:

    7369-SMITH
    7499-ALLEN
    7521-WARD
    7566-JONES
    7654-MARTIN
    7698-BLAKE
    7782-CLARK
    7788-SCOTT
    7839-KING
    7844-TURNER
    7876-ADAMS
    7900-JAMES
    7902-FORD
    7934-MILLER
    
    展开全文
  • 如果是存储过程,text字段存储的就是创建存储的脚本。 视图sysobjects中,注意字段name,id,xtype. --查看所有函数(FN)中那些使用了存储过程spWms_StorerInv SELECT DISTINCT (so.name) AS name FROM syscomments sc...

    视图syscomments中,注意字段id,text. 如果是存储过程,text字段存储的就是创建存储的脚本。
    视图sysobjects中,注意字段name,id,xtype.

    --查看所有函数(FN)中那些使用了存储过程spWms_StorerInv
    SELECT DISTINCT (so.name) AS name
    FROM   syscomments sc INNER JOIN sysobjects so ON sc.id = so.id
    WHERE  so.xtype = 'FN'
    AND    sc.text LIKE '%spWms_StorerInv%' 

    --查看所有存储过程中(p)中那些使用了存储过程spWms_StorerInv
    SELECT DISTINCT (so.name) AS name
    FROM   syscomments sc INNER JOIN sysobjects so ON sc.id = so.id
    WHERE  so.xtype = 'p'
    AND    sc.text LIKE '%spWms_StorerInv%'

    --查询某个字段在那些表中出现过
    select a.[name] from sysobjects a
    left join(select [id],count(*) b from syscolumns where [name] ='ProjectStatus' group by [id] having count(*)>0) b
    on a.[id]=b.[id]
    where b.id is not null

     

    --查询特定的表(字段或者文字)在哪些存储过程中被使用
    SELECT DISTINCT
            OBJECT_NAME(id)--,text
    FROM    syscomments
    WHERE   id IN ( SELECT  id
                    FROM    sysobjects
                    WHERE   type IN ( 'V', 'P' ,'TF') ) --V表示视图,P表示存储过程,TF表示函数
            AND (text LIKE '%FindText%')

    复制代码

    复制代码

    --查询包含某文字的列以及表
    SELECT  o.name 
            C.name
    FROM    syscolumns C
            INNER JOIN sysobjects o ON o.id = C.id
                                       AND o.type = 'U'
    WHERE   C.name LIKE '%Text%'
            OR C.name LIKE '%Text%'

    复制代码

    展开全文
  • select SID from V$ACCESS WHERE object='GIS_PRO_MAPGRIDCOUNT'
      select SID from V$ACCESS WHERE object='GIS_PRO_MAPGRIDCOUNT'
    展开全文
  • 我用的是vs2008,已函数导入了,可是引用的时候找不到?
  • select * from openrowset(sqloledb ,Trusted_Connection=yes ,exec aa..test) 
  • 1.RDLC中,使用ODBC连接到...3.RDLC中,引用存储过程能test1,如何引用。 ![图片说明](https://img-ask.csdn.net/upload/202009/07/1599477517_957037.jpg) 这样引用,不会报错。但是参数没有传给存储过程执行。
  • 在项目开发中如果有时修改了一个存储过程,但是如何能够快速的查找到使用了这个存储过程的其它存储过程
  • 存储过程调用存储过程

    千次阅读 2018-03-12 23:58:24
    存储过程引用存储过程在存储过程B中,调用存储过程A。当存储过程A中RETURN时,跳出A过程。但是在B过程引用处继续往下执行。CREATE OR REPLACE PROCEDURE A AS BEGIN dbms_output.put_line('调用'); return; dbms...
  • 在项目开发中如果有时修改了一个存储过程,但是如何能够快速的查找到使用了这个存储过程的其它存储过程呢?这个问题 对于规模稍微大些的项目而言,显得尤其重要了,数据库中如果有几百个存储过程,难道还一个个找...
  • 存储过程和函数是在数据库中定义一些SQL语句的集合,然后直接调用这些存储过程和函数来执行已经定义好的SQL语句。存储过程和函数可以避免开发人员重复的编写相同的SQL语句。而且,存储过程和函数是在MySQL服务器中...
  • 一、过程 (存储过程) 过程是一个能执行某个特定操作的子程序。使用CREATE OR REPLACE创建或者替换保存在数据库中的一个子程序。示例1:声明存储过程,该过程返回dept表行数DECLAREPROCEDURE getDeptCountASdeptCount...
  • MySQL PROCEDURE存储过程(PROCEDURE)是存储在服务器中的一组指定的SQL语句,客户机无需不断重新发出单个语句,而可以引用存储过程。存储过程类型分为存储过程(PROCEDURE)和存储函数(FUNCTION)。Ø存储过程:通过CALL...
  • DROP PROCEDURE IF EXISTS get_user_charge_level; CREATE DEFINER = newycsd @% ... 小杰博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 转载请注明原文链接:mysql存储过程变量调用方式
  • 有些时候,在一个存储过程内需要引用另外一个存储过程,但另外的存储过程返回的是数据集,而此数据集在引用存储过程内是需要获得的,常规方法是没办法的。 那么这时候就只有用临时表来进行中转了。 insert into ...
  • –查看对象(存储过程引用的对象 select * from all_dependencies t where t.referenced_name=upper(‘qy_user’); –查看存储过程代码 select wm_concat(text) from user_source t where t.name=upper(‘PROC
  • 存储过程中,经常要引用一些表来存储一些中间数据,用完即删。对于这个中间表,用常规表,临时表或者表变量有什么区别呢? 下面我们看一下这三种中间表是否会造成执行计划的重编译。 首先打开sql server profile...
  • 一旦SQL语句被存储了,客户端就不需要再重新发布单独的语句,而是可以引用存储过程来替代。这样可以减少带宽的使用,提高查询速度,也能够阻止与数据的直接相互作用,从而起到保护数据的作用。 创建存储过程 ...
  • 查看存储过程引用

    2016-04-05 12:18:28
    select distinct name from syscomments a,sysobjects b where a.id=b.id and b.xtype='p' and text like '%ProcedureName%' 转载于:https://blog.51cto.com/herry1001/1760387
  • all_dependencies:描述了过程,程序包,函数,程序包主体和当前用户可访问的触发器之间的依赖关系,包括对在没有任何数据库链接的情况下创建的视图的依赖关系。该视图不显示该SCHEMAID列。 dba_dependencies:描述...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,062
精华内容 1,624
关键字:

引用存储过程