"바인드변수"의 두 판 사이의 차이
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 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
바인드 변수 확인[편집]
- 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';