행위

"바인드변수"의 두 판 사이의 차이

DB CAFE

(바인드 변수 확인)
1번째 줄: 1번째 줄:
 
== 바인드 변수 확인 ==
 
== 바인드 변수 확인 ==
 +
* where절에 사용되는 바인드 값 확인
 +
<source lang=sql>
 +
SELECT name, position, dup_position, datatype_string, value_string
 +
  FROM (SELECT a.*
 +
            , ROW_NUMBER () OVER (PARTITION BY a.position ORDER BY a.last_captured DESC) AS rn
 +
          FROM v$sql_bind_capture a
 +
        WHERE a.sql_id = 'ckrnp9t0x37xh'
 +
          AND a.child_number = 0)
 +
WHERE rn = 1;
 +
</source>
 +
 
<source lang=sql>
 
<source lang=sql>
  

2022년 11월 24일 (목) 10:42 판

thumb_up 추천메뉴 바로가기


바인드 변수 확인[편집]

  • where절에 사용되는 바인드 값 확인
SELECT name, position, dup_position, datatype_string, value_string
  FROM (SELECT a.*
             , ROW_NUMBER () OVER (PARTITION BY a.position ORDER BY a.last_captured DESC) AS rn 
          FROM v$sql_bind_capture a
         WHERE a.sql_id = 'ckrnp9t0x37xh'
           AND a.child_number = 0)
 WHERE rn = 1;
WITH BB AS
 (SELECT DISTINCT NAME BIND_VAL, VALUE_STRING VAL_VAL,DATATYPE_STRING,SQL_ID
    FROM V$SQL_BIND_CAPTURE A
   WHERE (LAST_CAPTURED, SQL_ID) IN
         (SELECT MAX(LAST_CAPTURED), SQL_ID FROM V$SQL_BIND_CAPTURE GROUP BY SQL_ID)),
     CC AS 
 (SELECT 1 RNUM FROM DUAL UNION ALL SELECT 2 FROM DUAL)
SELECT SQL_ID,DECODE(MOD(ROWNUM, 2), 1, A, B)
  FROM (SELECT SQL_ID,REPLACE('VARIABLE BIND_VAL '||DATATYPE_STRING,'BIND_VAL',BIND_VAL) A,
               REPLACE(REPLACE('EXEC :BIND_VAL :=''VAL_VAL'';','VAL_VAL',VAL_VAL),'BIND_VAL',BIND_VAL) B
          FROM BB,
               CC)
WHERE sql_id = 'gsqxm6zz3w2by';