database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 31349 게시물 읽기
No. 31349
insert 프로시저 진행 후 select 프로시저 진행 시 select 오류
작성자
이승태
작성일
2021-10-15 14:41
조회수
3,556

안녕하세요.

DB 시작한지 얼마 되지않은 신입입니다.


mysql 저장프로시저와 php 페이지 다 완성하고 전체적으로 확인 중에 에러가 발생해서 문의드립니다.


스퀀스 : 생성된 token을 table에 insert -> insert 완료 된 token을 받아 사용자 정보 조회


프로시저1 : 생성된 token을 table에 insert 후 token 반환

START TRANSACTION;

    INSERT  INTO tm_playerapi   (player_fk, token,      cid,            secret,             error,      regdate,            delete_flag)

    VALUES                      (@nPK,      i_szToken,  szClient_ID,    szClient_Secret,    nError,     UTC_TIMESTAMP(),    nDelete_Flag);

    SET @nPK_New        =   LAST_INSERT_ID();

    IF  (ISNULL(@nPK_New)   OR @nPK_New = 0 OR  @nPK_New = @nPK_Old)    THEN

        SET     o_nRetCode  =   -111100;

        SET     o_szRetMSG  =   "INSERT tm_playerapi Fail";

        ROLLBACK;

        LEAVE   Proc_Main;

    END IF;

    COMMIT;


프로시저2: 저장된 token으로 사용자 ID 조회

    IN          i_szToken           VARCHAR (500),

    OUT         o_szPlayer_ID       VARCHAR (40)

)

BEGIN

    DECLARE     szPlayer_ID         VARCHAR (40)        DEFAULT NULL;

    SET @dtUTCNow   =   UTC_TIMESTAMP();

    SELECT      PL.player_id

    INTO        szPlayer_ID

    FROM        tm_player       AS  PL

    INNER JOIN  tm_playerapi    AS  PA  ON  PA.player_fk    =   PL.player_pk

    WHERE       PA.token        =   i_szToken

    AND         TIMESTAMPDIFF(second,   PA.regdate, @dtUTCNow)  >   0;

    SET         o_szPlayer_ID   =   szPlayer_ID;


프로시저 내용입니다. 

시퀀스상 token 완료 후 전달 받은 token으로 사용자 정보를 조회해야 하지만 null로 조회 됩니다.

inert 후 sleep 을 1초 정도 준 후 select 하면 정상적으로 조회됩니다.

flush tables, flush privileges, TRANSACTION 삭제 등 해봤는데 해결되지 않았습니다.

고수님들 도와주십쇼

[Top]
No.
제목
작성자
작성일
조회
31353날짜순서의 게시글 다음,이전글 찾는 쿼리문.. [1]
황세환
2021-10-26
3977
31351mariadb 10.4 유저 패스워드 sha256 암호화 방식으로 사용하는 방법 문의드립니다. [1]
신은정
2021-10-21
3842
31350mariadb 테이블에 데이터가 어떤 암호화 알고리즘을 사용하는지 확인가능한가요? [1]
신은정
2021-10-20
3561
31349insert 프로시저 진행 후 select 프로시저 진행 시 select 오류
이승태
2021-10-15
3556
31348쿼리 질문 - 특정 기간에 날짜별 접속기기별 방문수 [2]
조현철
2021-09-26
3880
31347쿼리하나 부탁 드립니다. [7]
이기자
2021-09-04
3307
31346mysql function에서 union all 사용 안되나요? [3]
이기자
2021-09-03
3061
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.029초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다