多个程序结果集。如何返回最后的结果集?

时间:2014-06-19 22:14:21

标签: mysql resultset procedure

我的程序返回2结果集; 我怎样才能返回最后的结果集?

我想"禁用"第一个SELECT。

按照以下步骤操作。

的问候;

CREATE DEFINER=`root`@`%` PROCEDURE `PR_LOGIN`( IN USER BIGINT, IN PASS CHAR(50), IN X_STORE INT, IN X_POINT_SALE INT, IN DATETI DATETIME, IN IP_ACCESS VARCHAR(20) )
    BEGIN

    DECLARE  VAR_TOTAL INT;

    DECLARE EXIT HANDLER FOR SQLWARNING ROLLBACK;
    DECLARE EXIT HANDLER FOR SQLEXCEPTION ROLLBACK;

    START TRANSACTION;

    SELECT
        A.*,
        @_USER_NAME:= B.USER_NAME,
        @_STORE_DESCR:= C.STORE_DESCR,
        @_POINT_SALE_DESCR:= D.POINT_SALE_DESCR
     FROM 
        TB_USER_STORE AS A
            INNER JOIN TB_USER AS B ON (A.ID_USER = B.ID_USER )
            INNER JOIN TB_STORE AS C ON (A.ID_STORE = C.ID_STORE)
            INNER JOIN TB_POINT_SALE AS D ON (A.ID_POINT_SALE = D.ID_POINT_SALE)
    WHERE B.ID_USER = USER AND B.PASSWORD = PASS AND A.FLG_ACTIVE = 1  AND B.FLG_ACTIVE = 1 AND A.ID_STORE = X_STORE AND A.ID_POINT_SALE = X_POINT_SALE;

     IF FOUND_ROWS() = 1 THEN
        INSERT INTO TB_LOG_ACCESS (ID_USER, ID_STORE, ID_POINT_SALE, DT_ENT, DT_EXI, IP_ACCESS) VALUES( USER , X_STORE, X_POINT_SALE,DATETI,NULL, IP_ACCESS);
        SELECT LAST_INSERT_ID() AS ID_LOG_ACCESS, USER AS USER_ID, @_USER_NAME AS USER_NAME, X_STORE AS ID_STORE, X_POINT_SALE AS POINT_SALE, @_STORE_DESCR AS STORE_DESCR, @_POINT_SALE_DESCR AS POINT_SALE_DESCR ;
     END IF;

    COMMIT;
END

1 个答案:

答案 0 :(得分:0)

如果您不想要返回选择的结果,那么您可以:

  
      
  • 使用&#34将值放入表中;插入到t1(f1)中选择..."
  •   
  • 使用table1 limit 1中的select field1将值放入局部变量到localVariable1;
  •