SQLPlus에서 실수를 할 때마다 정보를 다시 입력해야합니까?


11

'insert into'명령을 입력하는 중에 SQLPlus에서 실수를 한 경우 편집하기 위해이 정보를 다시 가져올 수있는 방법이 있습니까?


입력 명령 행 : 롤백;

@ user16063 --- 그러면 어떻게됩니까? 당신은 전혀 정교 할 수 있습니까?
jcolebrand

@ user16063 이것이 오해라고 확신합니다. Bambi는 트랜잭션을 롤백하지 않고 이전 명령 텍스트를 편집하려고합니다.
Jack은 topanswers.xyz를 시도한다고 말합니다.

또한 체크 아웃하십시오 sqlcl(그러나 Java 응용 프로그램이지만 CLI를위한 매우 멋진 프롬프트와 터미널 지원)
eckes

답변:


15

몇 가지 방법들.

EDITOR외부 텍스트 편집기 ( vi예를 들어)를 사용할 수 있도록 SQL * Plus (가정 Unix)를 실행하기 전에 환경 변수를 설정할 수 있습니다 .

export EDITOR=vi

그런 다음 edSQL * Plus를 입력 하여 vi편집기 에서 이전 쿼리를 편집하십시오 . 물론, 당신이 선호 할 수있다 nano, pico, emacs, vim등 등

당신이 환경 변수를 설정하지 않으려면, 당신은 추가 할 수 있습니다 define _editor=vi당신을 $ORACLE_HOME/sqlplus/admin/glogin.sql대신 파일.

SQL * Plus 편집 천국 (유닉스에서)을 달성하는 가장 좋아하는 방법은을 사용하는 것 rlwrap입니다. readlineSQL * Plus에 대한 지원 이 추가 되어 SQL * Plus 자체 내에서 쉽게 편집 할 수 있습니다.

설치 rlwrap당신의 배포판의 패키지 리포지터리 (또는 웹 사이트에서 다운로드 및 컴파일에서 여기 ), 다음 쉘 시작 스크립트 (에 다음을 추가 .bashrc/ .bash_profile또는 유사한) :

alias sqlplus="rlwrap -i sqlplus"

2

변경 사항이 없으면 "edit"를 입력하고 Enter 키를 누르면 메모장에서 열리고 (여기서는 Windows라고 가정) 쿼리를 변경할 수 있습니다.


-2

모든 명령 줄 응용 프로그램에서 emacs 를 인터페이스로 사용할 수 있습니다. 쉘 모드를 열고 명령 행 도구를 실행할 수 있습니다 . Emacs는 입력 한 명령을 명령 행 도구로 보내고 출력을 읽고 표시합니다. emacs에 입력을 입력하기 때문에 emacs 명령을 사용하여 입력을 조작 할 수 있습니다. 이 모드를 사용하면 emacs를 다음과 같은 오라클 도구와 함께 사용할 수 있습니다 *

  • rman
  • lsnrctl
  • 아드 르시
  • dgmgrl

특히 sqlplus를 지원 하는 특수한 sql-oracle 모드가 있습니다. 나는 오래 전에 그것을 사용했습니다. 오늘 나는 문서에서 그것을 찾지 못했습니다. 웹을 검색했지만 다음 링크 만 찾았습니다 . 아마 emacs 문서를 검색 할 때 더 많은 것을 찾을 수있을 것입니다. emacs에 대한 다른 SQL 모드가 있습니다. 이 페이지에는 @Jack Douglas가 찾은 링크에 대한 참조가 포함되어 있습니다.

많은 사람들이 이맥스가 복잡한 도구라고 생각하기 때문에 이맥스를 좋아하지 않습니다.


downvotes 출신 궁금 vi) 내가 찾은, 팬 (분명히 구글 - 당신이에 대해 얘기했다 그 물건의 종류에) "SQLPLUS-mode.el에서 영감을?"
Jack은 topanswers.xyz를 시도해

나는 이것이 sql-oracle 모드 와 비슷한 것이라고 생각 합니다.
miracle173
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.