oracle查詢的存儲過程
① oracle中的存儲過程是什麼
存儲過程是用來簡化數據查詢和輸入的,並且可以把判斷語句寫進去,但是在實際寫程序的時候沒有特別的要求千萬不要寫存儲過程.
② 怎麼才oracle中查看存儲過程
可用語句查看或用第三方工具查看。
一、語句查看方法:
1、執行語句:
sql">SELECTtext
FROMuser_source
WHERENAME='ProcereName'
ORDERBYline;--其中ProcereName為存儲過程名字,需要全部用大寫英文。
2、如要查P_TEST的存儲過程:
SELECTtext
FROMuser_source
WHERENAME='P_TEST'
ORDERBYline;
3、內容如下:
③ 如何查看ORACLE包體內的存儲過程
1、打開PL/SQL,新建sql窗口
④ 如何查看oracle的存儲過程
使用tode或者Navicat 或者navigtor等連接oracle的工具
找到procere的選項即可查看所有的存儲過程,點擊某個名字可以看到其中的定義
⑤ Oracle中簡單的查詢數據的存儲過程怎麼寫
你說是應該通過視圖實現,存儲過程反而實現不了。語法:create or replace view 視圖名 as
select * from 表a,表b
where 表a.關聯欄位=表b.關聯欄位;
⑥ 在Oracle中如何查詢一個表空間下所有的存儲過程啊或者是一個用戶下面所有的存儲過程
一個用戶下面所有的存儲過程:
如果有DBA許可權
select * from DBA_objects where object_type='PROCEDURE' and owner='user_name'
否則就all_objects
一個表空間下所有的存儲過程:
這個應該沒有意義
⑦ 關於Oracle的存儲過程
1.基本結構
CREATE OR REPLACE PROCEDURE 存儲過程名字
(
參數1 IN NUMBER,
參數2 IN NUMBER
) IS
變數1 INTEGER :=0;
變數2 DATE;
BEGIN
END 存儲過程名字
2.SELECT INTO STATEMENT
將select查詢的結果存入到變數中,可以同時將多個列存儲多個變數中,必須有一條
記錄,否則拋出異常(如果沒有記錄拋出NO_DATA_FOUND)
例子:
BEGIN
SELECT col1,col2 into 變數1,變數2 FROM typestruct where xxx;
EXCEPTION
WHEN NO_DATA_FOUND THEN
xxxx;
END;
...
3.IF 判斷
IF V_TEST=1 THEN
BEGIN
do something
END;
END IF;
4.while 循環
WHILE V_TEST=1 LOOP
BEGIN
XXXX
END;
END LOOP;
5.變數賦值
V_TEST := 123;
6.用for in 使用cursor
...
IS
CURSOR cur IS SELECT * FROM xxx;
BEGIN
FOR cur_result in cur LOOP
BEGIN
V_SUM :=cur_result.列名1+cur_result.列名2
END;
END LOOP;
END;
7.帶參數的cursor
CURSOR C_USER(C_ID NUMBER) IS SELECT NAME FROM USER WHERE TYPEID=C_ID;
OPEN C_USER(變數值);
LOOP
FETCH C_USER INTO V_NAME;
EXIT FETCH C_USER%NOTFOUND;
do something
END LOOP;
CLOSE C_USER;
⑧ Oracle 的存儲過程怎麼寫。
oracle 存儲過程的基本語法
1.基本結構
CREATE OR REPLACE PROCEDURE 存儲過程名字
(
參數1 IN NUMBER,
參數2 IN NUMBER
) IS
變數1 INTEGER :=0;
變數2 DATE;
BEGIN
END 存儲過程名字
2.SELECT INTO STATEMENT
將select查詢的結果存入到變數中,可以同時將多個列存儲多個變數中,必須有一條
記錄,否則拋出異常(如果沒有記錄拋出NO_DATA_FOUND)
例子:
BEGIN
SELECT col1,col2 into 變數1,變數2 FROM typestruct where xxx;
EXCEPTION
WHEN NO_DATA_FOUND THEN
xxxx;
END;
...
3.IF 判斷
IF V_TEST=1 THEN
BEGIN
do something
END;
END IF;
4.while 循環
WHILE V_TEST=1 LOOP
BEGIN
XXXX
END;
END LOOP;
5.變數賦值
V_TEST := 123;
6.用for in 使用cursor
...
IS
CURSOR cur IS SELECT * FROM xxx;
BEGIN
FOR cur_result in cur LOOP
BEGIN
V_SUM :=cur_result.列名1+cur_result.列名2
END;
END LOOP;
END;
7.帶參數的cursor
CURSOR C_USER(C_ID NUMBER) IS SELECT NAME FROM USER WHERE TYPEID=C_ID;
OPEN C_USER(變數值);
LOOP
FETCH C_USER INTO V_NAME;
EXIT FETCH C_USER%NOTFOUND;
do something
END LOOP;
CLOSE C_USER;
8.用pl/sql developer debug
連接資料庫後建立一個Test WINDOW
在窗口輸入調用SP的代碼,F9開始debug,CTRL+N單步調試
⑨ oracle怎樣查看正在執行的存儲過程
1、在存儲過程中加一個輸出參數,執行完存儲過程後,判斷輸出參數的值;
2、查看存儲過程中處理數據後,你要的效果達到沒有。
⑩ 如何查詢oracle庫中已經存在的存儲過程
命令行:
sqlplus / as sysdba
select name from user_source where type='PROCEDURE';
可查看sys用戶下所有存儲過程名字
select text from user_source where name='XXX'
可查看該存儲過程的內容
plSQLdevloper工具:
左側找到『Proceres』,點開之後即可查看當前用戶的所有存儲過程。
右鍵點擊存儲過程,選擇『view』可查看詳細信息