현재 SCAN
상태를 어떻게 감지하고 변경 한 후에 되돌리시겠습니까?변수 값을 묻는 메시지가 표시되면 스캔 상태를 되돌리기
문제의 스크립트로부터의 exerpt :
SET SCAN OFF
SET ECHO ON
SET SQLBLANKLINES ON
SET SCAN ON
UPDATE TABLE_NAME SET CREATED_BY = &&created_by;
SET SCAN OFF
문제는 스크립트가 첫 번째 줄 (SET SCAN OFF
)를 가지고 있지 않은 경우, 다음 사용자에게 메시지를 표시하는 코드가 SCAN
상태를 설정하지해야한다는 것입니다 그 후에. 의사 코드 솔루션 : 코드 첫 줄을 제거하여 변경되는 경우 예상대로 즉, 스크립트의 나머지 부분은 여전히 때문에이 POP SCAN STATE
을 corresonding에, 작동 있도록
-- The next line might not exist, or be "SET SCAN ON".
SET SCAN OFF
SET ECHO ON
SET SQLBLANKLINES ON
-- Remember if the scanning was on or off.
PUSH SCAN STATE
SET SCAN ON
UPDATE TABLE_NAME SET CREATED_BY = &&created_by;
-- Revert scanning to its former state.
POP SCAN STATE
라인이 PUSH SCAN STATE
상태를 기억합니다.
맨 위에 '표시 스캔'을하고 필요할 경우 수동으로 재설정 할 수 있습니다. –
@ Jeffrey : 자동화 된 솔루션을 찾고 있습니다. –
나는 그것을 모았다. 그래서 나는 논평을했지만 대답은하지 않았다. 나는 해결책이 없을 수도 있다고 생각한다. –