안녕하세요. 조언 부탁드리고 싶습니다.
1. 가령 아래와 같은 쿼리가 어플리케이션 서버를 통해 실행된다 가정할때
select * from emp where empno = :a ;
2. 테스트를 위해서 다음과 같이 설정후에 해당 원본 쿼리를 그대로 실행시키면 문제없이 실행이 됩니다.
var a number
begin
:a := 3179;
end;
/
select * from emp where empno = :a ;
3. 질문 : 그러나 원본 쿼리의 변수가 다음과 같이 숫자 를 사용할 경우
select * from emp where empno = :1 ;
아래와 같이 숫자 변수를 정의 하려고 하면 애러가 생기게 됩니다.
var 1 number
begin
:1 := 3179;
end;
/
원본 쿼리의 숫자 이름의 변수명 :1 에 대해서 어떻게 정의를 해주어야 원본 쿼리 그대로를 실행해볼수 있게 될까요.
아무쪼록 좋은 조언 부탁드립니다.
원본 쿼리의 변수명 :1 을 :a 등으로 변경후에 테스트 등과 같은 경우는 목적에 부합하지 않습니다.
해당쿼리를 실행시켜서 원본과 동일한 sql_id를 디비 케쉬상에 적재 시키는것도 목표로 하기 때문입니다.