當前位置:首頁 » 存儲配置 » shell函數調用存儲過程

shell函數調用存儲過程

發布時間: 2024-09-17 15:46:53

1. shell調用oracle存儲過程

#!/bin/sh
sqlplusabc/passwd<<EOF
setlinesize500;
setpagesize10000;
spooloutput.txt
calla1();
calla2();
calla3();
commit;
spooloff
quit;
EOF

大概就是這個方式。

需要修改一下oracle用戶密碼,如果存儲過程有參數還需要修改調用的地方。

2. oracle存儲過程中調用一個shell腳本,用於進行一些操作,已經賦許可權,但是執行不了

shell的環境變數問題,你在shell內部的變數是獲取不到外部執行結果的。

3. shell中怎麼獲取存儲過程的輸出參數給變數

#下面的代碼是對於從oracle的sqlplus返回變數值給shell的例子
output=`sqlplus -s unitele/lemontea << EOF
set heading off feedback off verify off
drop function test_get_param_value_p;
CREATE OR REPLACE function test_get_param_value_p
(
is_citycode in varchar2
)
return varchar2
is
on_value varchar2(100);
begin
on_value :='100000';
dbms_output.put_line(on_value);
dbms_output.put_line(is_citycode);
return on_value;
end;
/
select test_get_param_value_p('501') from al;
exit
EOF
`
echo "Oracle的輸出變數值:"$output
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
存儲過程 myproc(in_num in number,out_num out number)
sql腳本模板
先編輯一個mysql.sql文件,內容如下:
------------
var nret number;
execute :nret := 0;--初始化
call myproc(in_code,:nret)--執行存儲過程,in_code會被替換掉
/
select 'retcode[' || :nret || ']retcode' from al--顯示結果
/
quit;
-------------
SHELL腳本mysh.sh,內容如下
-------------
#./mysh.sh 123
cd /home/myshell
sed "s/in_code/$1/" mysql.sql > mysql01.sql
#根據sql腳本模板生成實際腳本
sqlplus usr/pwd@db result$1.txt
#執行sql腳本並把結果輸入result$1.txt
echo ok!
-------------
linux下執行./mysh.sh 123,生成result123.txt,myproc輸出參數在'retcode['和']retcode'之間。

4. 如何寫一個shell腳本調用寫好的oracle存儲過程

#!/bin/ksh
sqlplus -S user/password <<EOF
exec procre();
exit;
EOF

5. shell調用Oracle存儲過程問題

以下為proc.sh文件內容:
sqlplus user/password <<!
exec proc_name;
exit
!

其中proc_name是存儲過程的名字
user/password是存儲過程所在用戶的用戶名和密碼

6. shell腳本里怎樣調用plsql存儲過程

對於存儲我是不很了解,但是可以通過這種方式來調用oracle的sqlplus。

#catsql.sh

#!/bin/bash

su-oracle-c'

sqlplus-S/assysdba<<EOF

selectstatusfromv$instance;

exit

EOF

'

#bashsql.sh
STATUS
------------------------
OPEN

7. linux下shell調用oracle存儲過程的問題

被鎖定的話,你可以是做不了的。等待也是沒用的啊,只要被鎖了,永遠你也做不了。除非解鎖了。應該先去檢查為何被鎖吧。 調用存儲過程,返回結果可以有,得看你的存儲過程怎麼寫了,可以在存儲過程里增加返回值的。

熱點內容
tiobe編程語言排行 發布:2025-01-12 23:39:49 瀏覽:224
win7的緩存文件夾 發布:2025-01-12 23:32:12 瀏覽:954
安卓哪個文件鎖好 發布:2025-01-12 23:31:23 瀏覽:325
怎麼讓安卓用蘋果耳機有彈窗 發布:2025-01-12 23:30:34 瀏覽:958
oracle存儲過程有返回值 發布:2025-01-12 23:30:34 瀏覽:7
用友伺服器怎樣同步ip 發布:2025-01-12 23:29:52 瀏覽:979
qt編譯vlcqt庫 發布:2025-01-12 23:24:45 瀏覽:244
攻擊linux伺服器 發布:2025-01-12 23:17:01 瀏覽:6
天籟哪個配置親民 發布:2025-01-12 23:16:26 瀏覽:482
零售通交易密碼是什麼 發布:2025-01-12 23:13:02 瀏覽:319