一个存储过程 能执行两个sql语句吗? 而且前一个语句查询得到的某个列的值 是下一个语句的限制条件,并且能同时返回这个两个语句的结果吗 求救啊啊啊啊。。

解决方案 »

  1.   

    可以 如果说执行两个SQL语句而且前一个语句查询得到的某个列的值 是下一个语句的限制条件,并且能同时返回这个两个语句的结果 打开不必用存储过程。
    子查询就可以啊
      

  2.   

    第一个表 t_zbys
      ID       VARCHAR2(500) not null,//菜单的id 是下面zdnews表的type 菜单可以对应多个记录
      NAME     VARCHAR2(500),//菜单名称
      CODE     VARCHAR2(500),
      PARENTID VARCHAR2(500),//父菜单的id
      TYPE     VARCHAR2(500),
      TIME     DATE第二个表 zdnews
      ID         VARCHAR2(20) not null,
      TITLE      VARCHAR2(200),
      WRITER     VARCHAR2(50),
      KEYWORD    VARCHAR2(50),
      CONTENT    BLOB,
      PICTURE    VARCHAR2(200),
      PICTURE1   VARCHAR2(200),
      PICTURE2   VARCHAR2(200),
      PICTURE3   VARCHAR2(200),
      PICTURE4   VARCHAR2(200),
      PICTURE5   VARCHAR2(200),
      FLAG       VARCHAR2(10),
      ISSUETIME  DATE,
      TYPE       VARCHAR2(20),
      SUBJECT    VARCHAR2(50),
      AUTHOR     VARCHAR2(30),
      PROVENANCE VARCHAR2(50)第一个表是做动态树形菜单的表,树形菜单可以分为四级到五级, 第二个是做菜单对应的信息记录的表。
    现在要实现的是 我已经写了两个语句,用两个方法去执行 但是循环嵌套循环太慢了,用一条语句查询出来。
    查询菜单 就是简单的 一条 语句 select * from t_zbys order by id desc 然后查询的结果放到list里面在前台页面循环列出 用js排好,然后需要对每个菜单下面的记录进行计数,并且每一级菜单是下面几级菜单里面信息记录数的综合。语句是SELECT COUNT(id) NUM FROM ZDNEWS WHERE TYPE IN (SELECT ID FROM T_ZBYS D WHERE D.ID = '"+id+"' OR D.PARENTID = '"+id+"' OR D.PARENTID IN (SELECT ID FROM T_ZBYS T WHERE T.PARENTID ='"+id+"')OR PARENTID IN ( SELECT ID FROM T_ZBYS WHERE PARENTID IN (SELECT ID FROM T_ZBYS WHERE PARENTID IN ("+id+"))))
      

  3.   

    上面两调语句也实现了功能只是 分开两个方法 效率很慢 因为菜单 查出来放到list 里面循环出来,然后再循环的同时在执行查询记录数 效率很慢很慢的 想怎样把这两个语句写到一起,而且第二条语句的id 是从第一条语句那的来的 
      

  4.   

    不知道 connect by .... start with 能不能行,佩服楼主的第二个sql
      

  5.   

    现在只要这两个sql语句能 写在一起就行了,谁帮帮我啊,还有第二条语句确实效率低下