select SQL_ID, LAST_CAPTURED, NAME, VALUE_STRING from DBA_HIST_SQLBIND where sql_id = :sql_id order by SQL_ID, LAST_CAPTURED, POSITION /
위와 같이 실행할경우 다음과 같은 결과를 보입니다.
| SQL_ID | LAST_CAPTURED | NAME | VALUE_STRING | |
| fqy7chnpsgf10 | 2022-05-19 07:55:45 | :B2 | AB | |
| fqy7chnpsgf10 | 2022-05-19 07:55:45 | :B1 | 3 | |
| fqy7chnpsgf10 | 2022-05-19 10:55:45 | :B2 | BA | |
| fqy7chnpsgf10 | 2022-05-19 10:55:45 | :B1 | 2 | |
| fqy7chnpsgf10 | 2022-05-20 22:55:23 | :B2 | AA | |
| fqy7chnpsgf10 | 2022-05-20 22:55:23 | :B1 | 5 | |
| fqy7chnpsgf10 | 2022-05-20 10:00:12 | :B2 | CC | |
| fqy7chnpsgf10 | 2022-05-20 10:00:12 | :B1 | 1 |
이것을 다음 아래와 같은 시간대 순으로 수행된 bind변수 정보를 가로형태로 보고싶습니다. 조언 부탁드립니다.
SQL에 따라 사용된 bind의 숫자로 다르기 때문에 가로 컬럼이 가변적으로 변해야 할거같습니다.
단순 생각은 해당 sql_id에 대해서 max(POSITION)을 이용해서 가로 컬럼을 가변시킬수 있을까 생각은 됩니다만 조언 부탁드리겠습니다.
| SQL_ID | LAST_CAPTURED | :B2 | :B1 |
| fqy7chnpsgf10 | 2022-05-19 07:55:45 | AB | 3 |
| fqy7chnpsgf10 | 2022-05-19 10:55:45 | BA | 2 |
| fqy7chnpsgf10 | 2022-05-20 22:55:23 | AA | 5 |
| fqy7chnpsgf10 | 2022-05-20 10:00:12 | CC | 1 |
가변은 안됩니다.
보통은 구분자를 붙여서 컬럼 하나로 하던가
컬럼을 임의로 여려개 (예상되는 MAX 컬럼수 만큼 ) 만들어서 사용합니다.