1樓:育知同創教育
可以使用的,with相當於建了個臨時表。但是只能結合游標使用。
比如procedure test(out_result out mytype) is
begin
open cur for with emp as (select * from scott.emp e where e.empno=7499)
select * from e;
2樓:
這麼玩。
sql**
procedure collect_result(out_result out mytype) is
begin
open out_result for with q1 as(select 3 + 5 as s
from dual), q2 as (select 3 * 5 as m from dual), q3 as (select s,
m,s + m,
s * m
from q1,
q2)select * from q3;
end collect_result;
oracle 如何在儲存過程中對變數進行模糊查詢 50
3樓:匿名使用者
你這個sql可以用乙個varchar 變數寫 當成字串 不就可以拼進去變數了嗎 然後再執行這個拼好的字串 execute immediate
或是 在儲存過程中你這樣寫模糊查詢這塊 『%』『』||f_comcode||『』『%』 在儲存過程中『代表轉譯 』『就相當於『
怎麼才oracle中檢視儲存過程
4樓:匿名使用者
可用語句檢視或用第三方工具檢視。
一、語句檢視方法:
1、執行語句:
select text
from user_source
where name = 'procedure name'
order by line;--其中procedure name為儲存過程名字,需要全部用大寫英文。
2、如要查p_test的儲存過程:
select text
from user_source
where name = 'p_test'
order by line;
3、內容如下:
二、工具檢視:
1、登入第三方工具(如pl/sql)登入到指定資料庫。
2、左側樹中找到procedures,然後找到相應的儲存過程。
3、右鍵該儲存過程,選擇「檢視」。
4、然後就可以看到了。
5樓:丶殘缺嘚
select text from user_source where type='procedure' and name='procedure_name';
6樓:匿名使用者
select name from mysql.proc where db='資料庫';
如何在oracle儲存過程中drop序列和序列
1 首先要保證該資料庫使用者有刪除序列和新建序列的許可權,儲存過程中這個許可權要顯示賦權 grant create sequence to 資料庫使用者 grant drop any sequence to 資料庫使用者 2 儲存過程中建立序列和刪除序列 建立序列 execute immediate...
在c中怎麼獲取oracle儲存過程中Cursor型別的輸出引數
oralce引用游標一般用來返回表資料,在c 程式端用datareader,和datareader的用法一樣,通過datareader就可以讀取想要的資料。用executereader方法去執行這個儲存過程,會返回乙個datareader物件,這裡面就包含了cursor型別的輸出引數值,其實就是查詢...
如何呼叫oracle中的儲存過程了
你的引數變換的種類多嗎,我們做報表,每天晚上把所有的引數變換都做一次分析,然後儲存在乙個中間表中,前台web頁面查詢的實際上是中間表的結果!執行方式沒問題,而你執行有錯,那是因為你的儲存過程有語法錯誤,修改如下 create or replace procedure myprocedure0813 ...
oracle的儲存過程的作用,oracle中的儲存過程,有什麼作用
1.儲存過程可以使得程式執行效率更高 安全性更好,因為過程建立之後 已經編譯並且儲存到資料庫,直接寫sql就需要先分析再執行因此過程效率更高,直接寫sql語句會帶來安全性問題,如 sql注入 2.建立過程不會很耗系統資源,因為過程只是在呼叫才執行。3.儲存過程可以用於降低網路流量,儲存過程 直接儲存...
oracle 儲存過程,寫簡單的oracle儲存過程
oracle提供的擴充套件sql功能的程式語言,語法不難,和一般的開發語言差不多,關鍵是寫好需要帶著sql調優的思想去寫。我給你發個簡單的過程吧!你自己看看再練習。create or replace procedure mypro pid in number,pname in varchar2 is...