1、編寫存儲過程,
我們提供的服務(wù)有:網(wǎng)站制作、做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、平房ssl等。為成百上千企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的平房網(wǎng)站制作公司
create or replace procedure test_pro(in_num number)
as
M number;
begin
M := in_num;
if 0 M then
dbms_output.put_line('輸出SQL語句1');
elsif M 3 then
dbms_output.put_line('輸出SQL語句2');
else
dbms_output.put_line('nothing');
end if;
end;
2、在command窗口編譯,
3、執(zhí)行存儲過程,輸入變量,實際什么也不輸入,
4、切到DBMS輸出窗口,查看輸出結(jié)果,‘nothing’,也就是說并沒有執(zhí)行‘輸出SQL語句’,
可通過PL/SQL來進行導(dǎo)出:
1、登錄PL/SQL到指定數(shù)據(jù)庫。
2、點擊上方工具欄的工具—導(dǎo)出表。
3、摁住鍵盤的ctrl鍵,選擇要導(dǎo)出的表名(即多選)。
4、然后勾選下方的“創(chuàng)建表”,選擇存放路徑及保存的文件名,然后點擊“導(dǎo)出”按鈕,等待完成即可。
Oracle沒有print
可以用dbms_output.putline()
記得先
set serveroutput on;
這種過程想要看到輸出值一般來說是用dbms_output包中的put_line來做的,在serverout 開啟的情況下,這個會包中的函數(shù)會將查詢的結(jié)果什么的,直接打印在屏幕上。
其他時間的查詢結(jié)果只會在后臺作為了一個過程量存在(這里查詢語句中顯示的1,就是一個過程量,當(dāng)過程執(zhí)行完,或者這個1傳遞完,那么這個1也就消失了),除非你將查詢結(jié)果插入一張表內(nèi),這樣的話你就能看見存儲在那張插入表內(nèi)的結(jié)果了,一般來說過程中的量是不會直接輸出到屏幕上的。(如果是自定義函數(shù)有返回值,那么肯定是可以輸出到屏幕上的)
當(dāng)然還有一種情況能看到查詢結(jié)果,那就是調(diào)試,調(diào)試過程的時候(其實就是一步一步的執(zhí)行過程,有些工具是一行一行的),用工具能看到每一步的結(jié)果。
1.首先裝好10g 11g的數(shù)據(jù)庫;
2.登陸數(shù)據(jù)庫并創(chuàng)建用戶;
開始--運行--sqlplus /nolog
conn /as sysdba
create user test identified by test;
grant resource,connect to test;
3.使用test(密碼 test)用戶賬號登陸,并建立一張簡單的表
create table test (id int,name char(10));
4.向該表插入數(shù)據(jù)
insert into test values (1,'yxd2766');
commit;
可用DBMS_OUTPUT.PUT_LINE()對存儲過程的進行輸出。
編寫存儲過程:
create or replace procedure test_pro(in_num number)
as
M number;
begin
M := in_num;
if 0 M then
dbms_output.put_line('輸出SQL語句1');
elsif M 3 then
dbms_output.put_line('輸出SQL語句2');
else
dbms_output.put_line('nothing');
end if;
end;
擴展資料;
存儲在數(shù)據(jù)庫的數(shù)據(jù)字典中,存儲在當(dāng)前的應(yīng)用中安全性由數(shù)據(jù)庫提供安全保證,必須通過授權(quán)才能使用存儲子程序,安全性靠應(yīng)用程序來保證,如果能執(zhí)行應(yīng)用程序,就能執(zhí)行該子程序。模式描述IN參數(shù)用來從調(diào)用環(huán)境中向存儲過程傳遞值,不能給IN參數(shù)賦值,給此參數(shù)傳遞的值可以是常量、有值的變量、表達式等。
參考資料來源:百度百科-Oracle存儲過程