日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux 进sqlplus命令,linux下的sqlplus命令

發(fā)布時間:2024/9/30 linux 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 进sqlplus命令,linux下的sqlplus命令 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在shell腳本中通過調(diào)用sqlplus來執(zhí)行SQL及一些數(shù)據(jù)庫命令。下面來介紹一下常用的參數(shù)選項(現(xiàn)學(xué)現(xiàn)賣)

1)-S

sqlplus -S/nolog

該參數(shù)選項登錄時沒有提示信息輸出

2)EOF

EOF通常與<

[.....]cat startup.sh

#!/bin/bash

#“>”表示把當(dāng)前輸入的結(jié)果使用文件*.log存儲起來

sqlplus -S/nolog>startlog.log<

connect sys/sys as sysdba

startup;

exit

EOF

exit;

[.....]cat shutdown.sh

#!?bin/bash

sqlplus -S/nolog>shutlog.log<

conn sys/sys as sysdba

shutdown immediate;

quit

EOF

exit;

當(dāng)我們不使用文件來記錄日志時,它會直接輸出到屏幕上。

3)下面,我們來看一個sqlplus與shell交互的例子:

[.....]$ cat test02.sh

#!/bin/ksh

read -p "Please input emplyees id>" emp_id

name=`sqlplus -S /nolog <

set heading off

set feedback off

conn hr/hr

select first_name || ‘ ‘ || last_name emp_name

from employees where employee_id = ‘$emp_id‘;

exit

EOF`

if [ "$name" == "" ]; then

echo "No data found";

else

echo "$name"

fi

exit;

[.....]$ sh test02.sh

Please input emplyees id>100

Steven King

[.....]$ sh test02.sh

Please input emplyees id>1

No data found

[.....]$

該程序的思想是,用戶輸入一個employee_id并顯示該ID對應(yīng)的員工姓名。注意上述的一個符號,該符號不是引號,是數(shù)字鍵1旁邊的那個符號。

4)Sqlplus返回值給Shell

[[email?protected] oracle_script]$ cattest3.sh

#!/bin/bash

source ~/.bash_profile

qlplus -S /nolog > result.log<

set heading off

feedback off

pagesize 0

verify off

echo off

numwidth 4

conn scott/tiger

col?coun?new_value?v_coun

select count(*)?coun?from emp;

select * from emp where empno=7369;

exit?v_coun

EOF

VALUE="$?"

echo "The number of rows is$VALUE."

該sqlplus使用 col ?列名 new_value 變量名 定義了變量并帶參數(shù)exit, 將變量v_coun返回賦給了shell的$?

備注:NEW_VALUE通常的使用方法為:

column?column_name new_value var_name

new_value是將所獲得的列值賦予到變量名,然后該變量名可以參與后續(xù)處理

5)sqlplus文件操作命令

1.spool將屏幕顯示及查詢結(jié)果輸入到指定文本文件中

spool d:\1.txt

select * from emp;

spool off

2.執(zhí)行和編輯指定位置的SQL腳本

start d:\test.sql

@ d:\test.sql

執(zhí)行當(dāng)前目錄下的SQL腳本,即:登陸SQLPLUS時的目錄,示例如下:

[[email?protected] oradiag_oracle]$ ls? ? a.sql? diag? ? [[email?protected] oradiag_oracle]$ cat a.sql?? ? select sysdate from dual;? ? [[email?protected] oradiag_oracle]$ sqlplus bys/bys? ? [email?protected]>@a.sql? ? SYSDATE? ? ?--------? ? 05-SEP-13

編輯指定的SQL腳本

edit d:\test.sql

3.&替代變量 ?如:

select * from emp where empno=&;

會提示輸入EMPNO的值。交互式

4.將當(dāng)前SQL緩沖構(gòu)內(nèi)SQL語句保存到指定文件

save d:\test2.sql

將文件中SQL語句調(diào)入SQLPLUS緩沖區(qū)

get d:\test2.sql

顯示緩沖區(qū)內(nèi)語句

list

注意:單引號和雙引號內(nèi)大小寫敏感。

關(guān)鍵字不能縮寫,也不能跨行書寫,單引號內(nèi)也不跨行寫。

每個子句是一行。

字符串用單引,列別名用雙引。

標(biāo)點符號要用英文標(biāo)點,中文出錯。

6)SQLPLUS中顯示設(shè)置-列長、分頁

1.更改分頁、行寬設(shè)置

show linesize

show pagesize

set linesize 100?????? ——默認(rèn)80字符

set pagesize 20?? ?? ——默認(rèn)14行

SQL>?set?numwidth???? 38好像設(shè)置數(shù)字型的默認(rèn)顯示寬度?set?num?4?,所以顯示會有變?##

2.設(shè)置指定顯示的列名的寬度--列是字符及數(shù)字

col username format a20 ??? 設(shè)置 username列的列寬是20個字符-----字符列寬

col username for a4

[email?protected]>col aa format 99,999,999??????設(shè)置abc列的列寬是8位,并用逗號隔開---數(shù)字列寬

總結(jié)

以上是生活随笔為你收集整理的linux 进sqlplus命令,linux下的sqlplus命令的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。