plsql執行存儲過程oracle
㈠ oracle帶參(傳入,傳出)的存儲過程怎麼執行
1、新建存儲過程,Create or ReplaceProcere CHK_SYS_EMP 檢查系統工號。
㈡ 請問oracle怎麼執行存儲過程
我試驗過了,就是exec 存儲過程名或者execute 存儲過程名(參數),請你在仔細確認一下,你的存儲過程名寫沒寫對呀,或者你沒有進入sqlplus中?
----
以上,希望對你能有幫助。
㈢ oracle 中用什麼命令執行一個帶參數的存儲過程
具體如下:
1、第一步,創建一個新的存儲過程,見下圖,轉到下面的步驟。
㈣ Oracle存儲過程執行報錯:無效的sql語句。 在plsql中: execute proc_test_exit_when;
在pl sql 中要用command window(命令窗口)來執行這個存儲過程,不能在sql window中直接執行的
㈤ oracle plsql怎麼調試存儲過程
1、首先是編寫存儲過程,編譯無誤;
2、添加debug信息。為了能夠單步跟蹤存儲過程,需要為其所在的包添加debug信息,右鍵點擊需要調試的存儲過程名稱,在彈出菜單中選中[add debug information],這樣就為包體添加了調試信息;
3、選擇需要調試的存儲過程名稱,點擊右鍵,在彈出菜單中 選擇[Test],進去測試窗口,測試窗口中有為了測試該存儲過程自動所產生的代碼,當然你也可以自己另外加入和修改代碼,自動生成的代碼已經足夠了。
㈥ 怎麼用ORACLE PLSQL匿名塊調用存儲過程
begin
core_acct_compare(參數1,參數2,參數3,參數4);
end;
begin ... end; 就是所謂的匿名塊
㈦ Oracle資料庫job,調用存儲過程,PLSQL工具執行後,沒有報錯,但是也沒有任何效果,哪位大神幫忙分析一下
SQL> create or replace procere test_jobproce as
2
3 begin
4
5 insert into test_job values(sysdate);
6
7 end test_jobproce;
8
9 /
警告: 創建的過程帶有編譯錯誤。
SQL> show errors;
PROCEDURE TEST_JOBPROCE 出現錯誤:
LINE/COL ERROR
-------- -----------------------------------------------------------------
5/1 PL/SQL: SQL Statement ignored
5/13 PL/SQL: ORA-00942: 表或視圖不存在
SQL> create table test_job (t1 date);
表已創建。
SQL> create or replace procere test_jobproce as
2
3 begin
4
5 insert into test_job values(sysdate);
6
7 end test_jobproce;
8 /
過程已創建。
SQL> declare test_job_really number;
2 begin
3 dbms_job.submit(test_job_really,'test_jobproce;',sysdate,'sysdate+1/1440')
4 commit;
5 end;
6 /
PL/SQL 過程已成功完成。
SQL> rpitn :test_job_really;
SP2-0734: 未知的命令開頭 "rpitn :tes..." - 忽略了剩餘的行。
SQL> print :test_job_really;
SP2-0552: 未聲明綁定變數 "TEST_JOB_REALLY"。
SQL> desc dba_jobs;
名稱 是否為空? 類型
----------------------------------------- -------- ---------------------------
JOB NOT NULL NUMBER
LOG_USER NOT NULL VARCHAR2(30)
PRIV_USER NOT NULL VARCHAR2(30)
SCHEMA_USER NOT NULL VARCHAR2(30)
LAST_DATE DATE
LAST_SEC VARCHAR2(8)
THIS_DATE DATE
THIS_SEC VARCHAR2(8)
NEXT_DATE NOT NULL DATE
NEXT_SEC VARCHAR2(8)
TOTAL_TIME NUMBER
BROKEN VARCHAR2(1)
INTERVAL NOT NULL VARCHAR2(200)
FAILURES NUMBER
WHAT VARCHAR2(4000)
NLS_ENV VARCHAR2(4000)
MISC_ENV RAW(32)
INSTANCE NUMBER
SQL> select job ,what from dba_jobs;
JOB
----------
WHAT
-------------------------------------------------------------------------------
4001
wwv_flow_cache.purge_sessions(p_purge_sess_older_then_hrs => 24);
4002
wwv_flow_mail.push_queue(wwv_flow_platform.get_preference('SMTP_HOST_ADDRESS'),
wv_flow_platform.get_preference('SMTP_HOST_PORT'));
3
test_jobproce;
JOB
----------
WHAT
-------------------------------------------------------------------------------
SQL> exec dbms_job.run(3);
PL/SQL 過程已成功完成。
SQL> select * from test_job
2 ;
T1
--------------
05-3月 -14
05-3月 -14
SQL> /
T1
--------------
05-3月 -14
05-3月 -14
SQL> /
T1
--------------
05-3月 -14
05-3月 -14
SQL> /
T1
--------------
05-3月 -14
05-3月 -14
SQL> exec dbms_job.run(3);
PL/SQL 過程已成功完成。
SQL> /
T1
--------------
05-3月 -14
05-3月 -14
05-3月 -14
SQL> /
T1
--------------
05-3月 -14
05-3月 -14
05-3月 -14
SQL> exec dbms_job.run(3);
PL/SQL 過程已成功完成。
SQL> /
T1
--------------
05-3月 -14
05-3月 -14
05-3月 -14
05-3月 -14
SQL>
㈧ plsql調用oracle存儲過程有輸入參數和輸出參數 sql語句怎麼寫如題 謝謝了
假設第一個參數為in參數,每二個參數為out參數:
variable
x
number;
//定義一個綁定變數
exec
過程(1,:x)
//1為輸入參數,x為輸出參數,過程執行後x就得到輸出值了。
print
x
//看結果
㈨ oracle中怎麼在plsql中調用存儲過程
打開set
serveroutput
on還需要有輸出內容才可以顯示。
如,有以下存儲過程:
create or replace procere p_test
as
v_begintime varchar2(20);
v_endtime varchar2(20);
v_str varchar2(10);
begin
v_begintime:=to_char(sysdate,'yyyy-mm-dd hh24:mi:ss');
select 'badkano' into v_str from al;
v_endtime:=to_char(sysdate,'yyyy-mm-dd hh24:mi:ss');
dbms_output.put_line('開始時間為:'||v_begintime);
dbms_output.put_line('結束時間為:'||v_endtime);
end;執行:
其中後邊紅框輸入,就是set
serveroutput
on的輸出內容。