명령줄의 sqlplus 문
이런 일이 가능할까요?
$ sqlplus -s user/pass "select 1 from dual"
또는
$ echo "select 1 from dual" | sqlplus -s user/pass
내가 할 수 있다는 걸 알아select 1 from dual
다음 작업을 수행합니다.
$ sqlplus -s user/pass @myFile.sql
sqlplus를 만족시키기 위해서 파일을 작성할 필요가 있는지 궁금합니다.
사용자 이름/비밀번호는 Unix/Linux에서 명령줄에 직접 배치하면 "ps -ef" 명령을 실행할 수 있는 모든 사용자가 볼 수 있습니다. 큰 보안 문제가 될 수 있습니다.
보통 UNIX/Linux에서 "ps -ef" 명령을 사용하여 사용자 이름/비밀번호가 표시되지 않도록 파일을 만들거나 여기서 문서를 사용할 것을 권장합니다.사용자 이름/비밀번호가 스크립트파일 또는 SQL 파일에 포함되어 있는 경우 적절한 사용자/그룹 읽기 권한을 사용하여 보호할 수 있습니다.그런 다음 셸 스크립트에서 다음과 같이 파일 내에 사용자/패스를 유지할 수 있습니다.
sqlplus -s /nolog <<EOF
connect user/pass
select blah;
quit
EOF
선택문 끝에 세미콜론이 있는지 확인하기만 하면 정확한 쿼리를 실행할 수 있습니다. (출력은 실제이며 연결 매개 변수는 제거되었습니다.)
echo "select 1 from dual;" | sqlplus -s username/password@host:1521/service
출력:
1
----------
1
이는 중요한 사항이지만 Mac OS X Snow Leopard 및 Oracle 11g에서 실행됩니다.
마이버전
$ sqlplus -s username/password@host:port/service <<< "select 1 from dual;"
1
----------
1
편집:
여러 줄의 경우 이 기능을 사용할 수 있습니다.
$ echo -e "select 1 from dual; \n select 2 from dual;" | sqlplus -s username/password@host:port/service
1
----------
1
2
----------
2
이거 *nix인 것 같은데?
"여기 문서" 사용:
sqlplus -s user/pass <<+EOF
select 1 from dual;
+EOF
EDIT: 두 번째 예를 시험해 봤어야 했어요.동작도 합니다(Windows에서도 san ticks).
$ echo 'select 1 from dual;'|sqlplus -s user/pw
1
----------
1
$
Windows 버전의 경우는, 이하를 사용해 주세요.큰따옴표(")를 삭제하다
echo select 1 from dual; | sqlplus -s username/password@service
언급URL : https://stackoverflow.com/questions/1639704/sqlplus-statement-from-command-line
'source' 카테고리의 다른 글
리액트/타이프스크립트의 소품으로 열거를 사용하는 방법 (0) | 2023.03.18 |
---|---|
ReactJS - 커스텀이벤트 리스너 컴포넌트에 추가 (0) | 2023.03.18 |
구조에서 필드 제거 또는 JSON 응답에서 필드 숨기기 (0) | 2023.03.13 |
WooCommerce에서 원본 이미지 잘라내기 사용 안 함 (0) | 2023.03.13 |
woocommerce에서 가장 인기 있는 제품의 카테고리 목록을 얻는 방법 (0) | 2023.03.13 |